10 React Interview Questions to Practice


React is an open-source JavaScript framework developed by Facebook. It’s currently the most popular front-end framework in use today. Its success even convinced Facebook to develop React Native, another framework that uses React for cross-platform mobile development.

When you’re interviewing for a job that requires using React daily, employers want to know that you have the skills needed to get the job done. That means your interview will likely include React interview questions, and while we can’t guess precisely what they’ll ask, we’ve collected some of the most popular ones here, along with possible answers.

1. What is React, and how is it different from other JavaScript frameworks?

With this question, the interviewer wants to find out if you know about the JavaScript ecosystem in general and what makes React unique. One thing you could bring up is that while some developers call React a framework, many consider it a library and not a full framework.

This is because React’s purpose is to build UI components for your web app. That’s all it really does. It’s the V (or View) part of an MVC (Model, View, Controller) architecture, and to build a complete application with React, you need other libraries like Redux.

Most JavaScript frameworks, like AngularJS, have tools for creating controllers, directives, services, and other functionalities. With these other frameworks, you have to use the tools you’re given for the most part. With React, you can build an application with the libraries of your choice.

2. What is JSX?

JSX is a language that React uses to embed an HTML template in code. It isn’t understood by browsers and must be transpiled with tools like webpack and Babel before it can be run.

Still, JSX helps streamline React development once you know its syntax. You don’t actually have to use JSX to create React components and can use React.createElement() instead, but Facebook recommends using JSX. Most React developers prefer its declarative syntax, and it also reduces code complexity.

Here’s an example of JSX:

Hello World!

3. What is state in React?

State is a JavaScript object used to represent the data held in a React app that may change over time. For example, you might have a state variable called clicks which updates when a button is pressed.

State is fully contained within the component, unlike props. In class components, you use the state class variable to set a state variable, like in the example below:

class User extends React.Component { constructor(props) { super(props)
this.state = { greeting: 'Hello World!' } 
render() { return ( 
) } } 

In functional components, you can set state in the component with the useState hook:

const User = () => { const [greeting, setGreeting] = '';
setGreeting('Hello World!');
return ( 
); } 

4. What are props in React?

Props are inputs for components and a way for passing data from one component to a child component. They can be single values, objects, or functions. Here’s an example:

const User = () => { const [greeting, setGreeting] = '';
setGreeting('Hello World!');
return ( 
); } 

In the example above, the MyHeader component is passed the greeting prop and can be accessed inside that component with props.greeting.

5. What are the three main phases of a React component’s lifecycle?

They are:

  1. The initial rendering phase, when the component is about to modify the DOM of the web page.
  2. The updating phase after the component is added to the DOM and only updates when its state or props change.
  3. The unmounting phase, when the component is destroyed and removed from the DOM.

6. What are synthetic events in React?

React wraps the native events of the browser with its own event structure for cross-browser compatibility. It has the same API as the browser’s events but acts the same in every browser.

7. Where is using a key prop necessary, and why?

Key props are required when you create an array of elements. React uses this key to identify specific elements in the array when they’re updated, removed, or added.

8. What is a ref in React?

A ref (reference) in React is an attribute that gives you a handle to access the functions in a specific element. Here’s an example:

const User = () => { const ref = React.useRef();
return ( 
); } 

The code above will focus the cursor in the input using a ref.

9. What are Higher-Order Components (HOC)?

Higher-Order Components are custom components that wrap other components within them. They can dynamically accept one or more components as children without modifying or copying any of the children’s behavior. They allow for code reuse and state abstraction and manipulation.

10. What are pure components?

Pure components in React don’t re-render when props or states update to the same value. You can extend the React.PureComponent class to use them. The rendering is restricted in this way for higher performance and is often used for components that are mainly for display.

Learn more about React

Don’t worry about preparing for every possible question you might face during your interview. That’d be impossible. Instead, focus on solidifying your understanding of React concepts and functions, and if you need a refresher, try courses like:

But remember, even if the company you’re interviewing with relies heavily on React, they’ll likely test your knowledge of other programming tools and functions. You might even be asked to complete a technical interview. For more information on interviewing in the tech industry, check out the articles below. Then, for more tips on how to prepare, visit our Career Center.

Interview Prep Courses & Tutorials | Codecademy
Interviewing is an important step in your journey towards landing a job in tech. Technical interviews let you showcase your skills and knowledge, but practice is key. You’ll need to understand technical concepts and be prepared to talk through solutions with your interviewers.

Related articles

7 articles

What is C# ​U​sed ​F​or? 

4 minutes
By Codecademy Team

C# is a popular programming language that’s similar to C and C++. Learn what it’s used for, what you can do with it, and how to get started.


What is the Waterfall Model?

7 minutes
By Codecademy Team

T​​he waterfall model follows a linear sequential flow where each phase of development is completed and approved before the next begins. Here’s how it works.


What Is CoffeeScript?

5 minutes
By Codecademy Team

What is CoffeeScript, and is it worth learning? In this article, we explain how it changed the way we write both front-end and back-end JavaScript code.