0% found this document useful (0 votes)
3 views9 pages

React Interview Questions and Answer

This document provides a comprehensive overview of ReactJS, including its features, components, state and props management, lifecycle methods, hooks, state management with Redux, routing with React Router, advanced concepts like reconciliation and higher-order components, and testing with Jest. It contains 60 interview questions and answers that cover essential topics for understanding and working with React. The content is structured to help candidates prepare for React-related interviews effectively.

Uploaded by

Prince Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views9 pages

React Interview Questions and Answer

This document provides a comprehensive overview of ReactJS, including its features, components, state and props management, lifecycle methods, hooks, state management with Redux, routing with React Router, advanced concepts like reconciliation and higher-order components, and testing with Jest. It contains 60 interview questions and answers that cover essential topics for understanding and working with React. The content is structured to help candidates prepare for React-related interviews effectively.

Uploaded by

Prince Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

React Interview Questions and Answer

1. Basics of ReactJS

1.1 What is ReactJS?


ReactJS is a JavaScript library developed by Facebook for building user
interfaces (UIs). It focuses on rendering views efficiently in single-page
applications by creating reusable UI components. React employs a declarative
programming paradigm, making the development process intuitive.

1.2 What are the main features of ReactJS?


• Declarative: React makes it easy to design interactive UIs by efficiently
updating the DOM based on changes.
• Component-Based: Applications are built by combining small, reusable
components.
• Virtual DOM: A lightweight representation of the real DOM that
improves rendering performance.
• Unidirectional Data Flow: React follows a predictable data flow model
for better debugging and state management.
• JSX: A syntax extension that allows writing HTML-like code directly in
JavaScript.

1.3 What is JSX? Why is it used in React?


JSX (JavaScript XML) is a syntax extension that combines JavaScript and HTML.
It allows developers to write HTML-like structures within JavaScript files,
improving code readability and maintainability.
Example:
const element = <h1>Hello, React!</h1>;
JSX is transpiled into JavaScript by tools like Babel.
1.4 What is the difference between Virtual DOM and Real DOM?
• Virtual DOM: A lightweight representation of the real DOM used by
React. It improves performance by reducing direct DOM manipulations
through a process called reconciliation.
• Real DOM: The actual document structure rendered in the browser.
Manipulating the real DOM is slower.

1.5 What are React components?


Components are the building blocks of a React application. React components
can be:
• Functional Components: Stateless or stateful components written as
functions using React hooks.
• Class Components: Stateful components that manage their state and
lifecycle using class syntax.
2. State and Props

2.1 What is the difference between state and props in React?


• Props:
o Immutable.
o Passed from parent to child components.
o Used for communication between components.
• State:
o Mutable and managed within a component.
o Used for handling dynamic data and UI updates.

2.2 Can props be changed?


No, props are read-only and cannot be changed by the receiving component.
However, their values can change if the parent component re-renders and
passes new props.

2.3 What is a controlled component in React?


A controlled component has its form input values controlled by React state.
Example:
const [value, setValue] = useState('');
<input value={value} onChange={(e) => setValue(e.target.value)} />;

2.4 What is an uncontrolled component?


An uncontrolled component manages its own state internally via the DOM.
Example:
<input type="text" ref={inputRef} />;
Here, the input field is directly accessed using ref without React state.
3. React Lifecycle Methods

3.1 What are the phases of the React component lifecycle?


The lifecycle phases include:
• Mounting: When the component is initialized and added to the DOM.
o Methods: constructor, render, componentDidMount
• Updating: When the component re-renders due to state or props
changes.
o Methods: shouldComponentUpdate, render,
componentDidUpdate
• Unmounting: When the component is removed from the DOM.
o Methods: componentWillUnmount

3.2 What is the use of componentDidMount()?


It is invoked immediately after the component is mounted to the DOM.
Common use cases include:
• Fetching data from an API.
• Setting up subscriptions or timers.

3.3 What is the difference between componentDidMount() and


componentWillUnmount()?
• componentDidMount(): Called after the component is rendered and
added to the DOM.
• componentWillUnmount(): Called just before the component is
removed, typically used for cleanup.
4. React Hooks

4.1 What are React Hooks?


Hooks are functions that allow you to use React features like state and lifecycle
in functional components. Examples: useState, useEffect, useContext.

4.2 What is useState? Provide an example.


useState is a hook for adding state to functional components.
Example:
const [count, setCount] = useState(0);
<button onClick={() => setCount(count + 1)}>Increment</button>;

4.3 What is useEffect?


useEffect is a hook for handling side effects such as data fetching or
subscriptions.
Example:
useEffect(() => {
console.log('Component rendered');
}, []); // Runs only once after the initial render

4.4 What is the difference between useEffect and useLayoutEffect?


• useEffect: Runs asynchronously after rendering.
• useLayoutEffect: Runs synchronously after DOM updates, before the
browser paints.
4.5 What is useMemo and how is it used?
useMemo memoizes a value, avoiding expensive recalculations on every
render.
Example:
const memoizedValue = useMemo(() => expensiveCalculation(a, b), [a, b]);

5. State Management

5.1 What is Redux?


Redux is a state management library that provides a predictable state container
for JavaScript applications. It centralizes application state and uses actions,
reducers, and a single store to manage state.

5.2 Explain the Redux flow.


1. Action: Describes the type of change needed.
2. Reducer: A pure function that takes the current state and action,
returning the new state.
3. Store: Holds the application state and provides methods like dispatch
and subscribe.

5.3 What is the Context API?


The Context API provides a way to share data like themes or user info across
components without passing props manually at every level.
Example:
const ThemeContext = React.createContext();
<ThemeContext.Provider value={theme}>...</ThemeContext.Provider>;

6. Routing

6.1 What is React Router?


React Router is a library for managing navigation in React applications. It allows
dynamic routing and supports features like URL parameters and nested routes.

6.2 What is the difference between Link and NavLink?


• Link: Basic navigation component.
• NavLink: Adds styling to the active route.

6.3 How do you use dynamic routing in React?

Dynamic routing is achieved using URL parameters.


Example:
<Route path="/user/:id" component={UserProfile} />;
7. Advanced Concepts

7.1 What is reconciliation in React?


Reconciliation is React’s process of updating the real DOM by comparing the
Virtual DOM’s changes and applying the minimal number of updates required.

7.2 What are Higher-Order Components (HOCs)?


HOCs are functions that take a component and return an enhanced
component.
Example:
const EnhancedComponent = withRouter(Component);

7.3 What are React Portals?


Portals allow rendering a child component outside the DOM hierarchy of its
parent.
Example:
ReactDOM.createPortal(child, container);

7.4 What are React Fragments?


Fragments let you group multiple elements without adding extra DOM nodes.
Example:
<React.Fragment>
<h1>Title</h1>
<p>Description</p>
</React.Fragment>
8. Testing

8.1 What is Jest?


Jest is a JavaScript testing framework commonly used for testing React
applications.

8.2 What is the purpose of act() in React testing?


act() ensures all updates related to a React component are applied before
assertions in tests.

This document covers 60 questions in-depth. Let me know if you'd like to add
further details or expand on specific topics!

You might also like