REACT
REACT
Download PDF
Introduction to React
React is an efficient, flexible, and open-source JavaScript framework library that allows
developers to the creation of simple, fast, and scalable web applications. Jordan Walke, a
software engineer who was working for Facebook created React. It was first deployed on the
news feed of Facebook in 2011 and on Instagram in 2012. Developers from the Javascript
background can easily develop web applications with the help of React.
React Hooks will allow you to use the state and other features of React in which requires a class
to be written by you. In simple words, we can say that, React Hooks are the functions that will
connect React state with the lifecycle features from the function components. React Hooks is
among the features that are implemented latest in the version React 16.8.
Scope of React: The selection of the right technology for application or web development is
becoming more challenging. React has been considered to be the fastest-growing Javascript
framework among all. The tools of Javascript are firming their roots slowly and steadily in the
marketplace and the React certification demand is exponentially increasing. React is a clear win
for front-end developers as it has a quick learning curve, clean abstraction, and reusable
components. Currently, there is no end in sight for React as it keeps evolving.
Instructions from Interviewbit
It will make use of the virtual DOM rather than real DOM (Data Object Model) as RealDOM
manipulations are expensive.
Use of Virtual DOM to improve efficiency: React uses virtual DOM to render the view. As
the name suggests, virtual DOM is a virtual representation of the real DOM. Each time the
data changes in a react app, a new virtual DOM gets created. Creating a virtual DOM is
much faster than rendering the UI inside the browser. Therefore, with the use of virtual
DOM, the efficiency of the app improves.
Gentle learning curve: React has a gentle learning curve when compared to frameworks like
Angular. Anyone with little knowledge of javascript can start building web applications using
React.
SEO friendly: React allows developers to develop engaging user interfaces that can be easily
navigated in various search engines. It also allows server-side rendering, which boosts the
SEO of an app.
Huge ecosystem of libraries to choose from: React provides you with the freedom to choose
the tools, libraries, and architecture for developing an application based on your
requirement.
The components of React are numerous and will take time to fully grasp the benefits of all.
Coding might become complex as it will make use of inline templating and JSX.
You can download a PDF version of React Interview Questions.
Download PDF
In the below-given example code, The useState(0) will return a tuple where the count is the first
parameter that represents the counter’s current state and the second parameter setCounter
method will allow us to update the state of the counter.
...
const [count, setCounter] = useState(0);
const [otherStuffs, setOtherStuffs] = useState(...);
...
const setCount = () => {
setCounter(count + 1);
setOtherStuffs(...);
...
};
We can make use of setCounter() method for updating the state of count anywhere. In this
example, we are using setCounter() inside the setCount function where various other things can
also be done. The idea with the usage of hooks is that we will be able to keep our code more
functional and avoid class-based components if they are not required.
Importance of keys -
Keys help react identify which elements were added, changed or removed.
Keys should be given to array elements for providing a unique identity for each element.
Without keys, React does not understand the order or uniqueness of each element.
With keys, React has an idea of which particular element was deleted, edited, and added.
Keys are generally used for displaying a list of data coming from an API.
***Note- Keys used within arrays should be unique among siblings. They need not be
globally unique.
6. What is JSX?
JSX stands for JavaScript XML. It allows us to write HTML inside JavaScript and place them in
the DOM without using functions like appendChild( ) or createElement( ).
As stated in the official docs of React, JSX provides syntactic sugar for React.createElement( )
function.
Without using JSX, we would have to create an element by the following process:
const container = (
<div>
<p>This is a text</p>
</div>
);
ReactDOM.render(container,rootElement);
As one can see in the code above, we are directly using HTML inside JavaScript.
Although functional components are the new trend, the react team insists on keeping class
components in React. Therefore, it is important to know how these components differ.
Declaration
Functional components are nothing but JavaScript functions and therefore can be declared using
an arrow function or the function keyword:
function card(props){
return(
<div className="main-container">
<h2>Title of the card</h2>
</div>
)
}
const card = (props) =>{
return(
<div className="main-container">
<h2>Title of the card</h2>
</div>
)
}
Class components, on the other hand, are declared using the ES6 class:
Handling props
Let’s render the following component with props and analyse how functional and class
components handle props:
In functional components, the handling of props is pretty straightforward. Any prop provided as
an argument to a functional component can be directly used inside HTML elements:
function StudentInfo(props){
return(
<div className="main">
<h2>{props.name}</h2>
<h4>{props.rollNumber}</h4>
</div>
)
}
As we can see in the code above, this keyword is used in the case of class components.
Handling state
Functional components use React hooks to handle state. It uses the useState hook to set the
state of a variable inside the component:
function ClassRoom(props){
let [studentsCount,setStudentsCount] = useState(0);
const addStudent = () => {
setStudentsCount(++studentsCount);
}
return(
<div>
<p>Number of students in class room: {studentsCount}</p>
<button onClick={addStudent}>Add Student</button>
</div>
)
}
Since useState hook returns an array of two items, the first item contains the current state, and
the second item is a function used to update the state.
In the code above, using array destructuring we have set the variable name to studentsCount
with a current value of “0” and setStudentsCount is the function that is used to update the state.
For reading the state, we can see from the code above, the variable name can be directly used to
read the current state of the variable.
We cannot use React Hooks inside class components, therefore state handling is done very
differently in a class component:
Let’s take the same above example and convert it into a class component:
this.addStudent = this.addStudent.bind(this);
}
addStudent(){
this.setState((prevState)=>{
return {studentsCount: prevState.studentsCount++}
});
}
render(){
return(
<div>
<p>Number of students in class room: {this.state.studentsCount}</p>
<button onClick={this.addStudent}>Add Student</button>
</div>
)
}
}
In the code above, we see we are using this.state to add the variable studentsCount and setting
the value to “0”.
For updating the state, we need to first bind the addStudent function to this. Only then, we will
be able to use the setState function which is used to update the state.
Attempt Now
8. What is the virtual DOM? How does react use the virtual DOM to render
the UI?
As stated by the react team, virtual DOM is a concept where a virtual representation of the real
DOM is kept inside the memory and is synced with the real DOM by a library such as
ReactDOM.
DOM manipulation is an integral part of any web application, but DOM manipulation is quite
slow when compared to other operations in JavaScript. The efficiency of the application gets
affected when several DOM manipulations are being done. Most JavaScript frameworks update
the entire DOM even when a small part of the DOM changes.
For example, consider a list that is being rendered inside the DOM. If one of the items in the list
changes, the entire list gets rendered again instead of just rendering the item that was
changed/updated. This is called inefficient updating.
To address the problem of inefficient updating, the react team introduced the concept of virtual
DOM.
For every DOM object, there is a corresponding virtual DOM object(copy), which has the same
properties. The main difference between the real DOM object and the virtual DOM object is
that any changes in the virtual DOM object will not reflect on the screen directly. Consider a
virtual DOM object as a blueprint of the real DOM object. Whenever a JSX element gets
rendered, every virtual DOM object gets updated.
**Note- One may think updating every virtual DOM object might be inefficient, but that’s
not the case. Updating the virtual DOM is much faster than updating the real DOM since
we are just updating the blueprint of the real DOM.
React uses two virtual DOMs to render the user interface. One of them is used to store the
current state of the objects and the other to store the previous state of the objects. Whenever
the virtual DOM gets updated, react compares the two virtual DOMs and gets to know about
which virtual DOM objects were updated. After knowing which objects were updated, react
renders only those objects inside the real DOM instead of rendering the complete real DOM.
This way, with the use of virtual DOM, react solves the problem of inefficient updating.
Validating on submit ✔️ ✔️ ✔️
Field-level Validation ❌ ✔️ ✔️
dynamic inputs ❌ ✔️ 🤔
function FormValidation(props) {
let [inputValue, setInputValue] = useState("");
let updateInput = e => {
setInputValue(e.target.value);
};
return (
<div>
<form>
<input type="text" value={inputValue} onChange={updateInput} />
</form>
</div>
);
}
As one can see in the code above, the value of the input element is determined by the state of
the inputValue variable. Any changes made to the input element is handled by the updateInput
function.
Whenever use enters data inside the input field, the updated data is shown directly. To access
the value of the input element, we can use ref.
function FormValidation(props) {
let inputValue = React.createRef();
let handleSubmit = e => {
alert(`Input value: ${inputValue.current.value}`);
e.preventDefault();
};
return (
<div>
<form onSubmit={handleSubmit}>
<input type="text" ref={inputValue} />
<button type="submit">Submit</button>
</form>
</div>
);
}
As one can see in the code above, we are not using onChange function to govern the changes
made to the input element. Instead, we are using ref to access the value of the input element.
The main purpose of props is to provide different component functionalities such as:
This reactProp name will be considered as a property attached to the native props object of
React which already exists on each component created with the help of React library:
props.reactProp; .
Props State
React State
Every component in react has a built-in state object, which contains all the property values
that belong to that component.
In other words, the state object controls the behaviour of a component. Any change in the
property values of the state object leads to the re-rendering of the component.
Note- State object is not available in functional components but, we can use React Hooks
to add state to a functional component.
Example:
As one can see in the code above, we can use the state by calling this.state.propertyName and
we can change the state object property using setState method.
React Props
Every React component accepts a single object argument called props (which stands for
“properties”). These props can be passed to a component using HTML attributes and the
component accepts these props as an argument.
<Car brand="Mercedes"/>
In Class component:
In Functional component:
function Car(props) {
let [brand, setBrand] = useState(props.brand);
}
Note- Props are read-only. They cannot be manipulated or changed inside a component.
Effects without Cleanup: This side effect will be used in useEffect which does not restrict
the browser from screen update. It also improves the responsiveness of an application. A
few common examples are network requests, Logging, manual DOM mutations, etc.
Effects with Cleanup: Some of the Hook effects will require the cleanup after updating of
DOM is done. For example, if you want to set up an external data source subscription, it
requires cleaning up the memory else there might be a problem of memory leak. It is a
known fact that React will carry out the cleanup of memory when the unmounting of
components happens. But the effects will run for each render() method rather than for any
specific method. Thus we can say that, before execution of the effects succeeding time the
React will also cleanup effects from the preceding render.
Sometimes while developing React applications, there is a need to pass data from a component
that is higher in the hierarchy to a component that is deeply nested. To pass data between such
components, we pass props from a source component and keep passing the prop to the next
component in the hierarchy till we reach the deeply nested component.
The disadvantage of using prop drilling is that the components that should otherwise be not
aware of the data have access to the data.
1. Render phase
In the code above, when the counterValue equals 2, we throw an error inside the render method.
When we are not using the error boundary, instead of seeing an error, we see a blank page. Since
any error inside the render method leads to unmounting of the component. To display an error
that occurs inside the render method, we use error boundaries.
With error boundaries: As mentioned above, error boundary is a component using one or both
of the following methods: static getDerivedStateFromError and componentDidCatch.
In the code above, getDerivedStateFromError function renders the fallback UI interface when
the render method has an error.
Now with the error boundary, we can render the CounterComponent in the following way:
<ErrorBoundary>
<CounterComponent/>
</ErrorBoundary>
Using Hook, all features of React can be used without writing class components. For example,
before React version 16.8, it required a class component for managing the state of a component.
But now using the useState hook, we can keep the state in a functional component.
React Hooks cannot be used in class components. They let us write components without class.
React hooks were introduced in the 16.8 version of React. Previously, functional components
were called stateless components. Only class components were used for state management and
lifecycle methods. The need to change a functional component to a class component, whenever
state management or lifecycle methods were to be used, led to the development of Hooks.
In functional components, the useState hook lets us define a state for a component:
function Person(props) {
// We are declaring a state variable called name.
// setName is a function to update/change the value of name
let [name, setName] = useState('');
}
The state variable “name” can be directly used inside the HTML.
17. What are the rules that must be followed while using React Hooks?
There are 2 rules which must be followed while you code with Hooks:
React Hooks must be called only at the top level. It is not allowed to call them inside the
nested functions, loops, or conditions.
It is allowed to call the Hooks only from the React Function Components.
Where the first argument callback represents the function having the logic of side-effect and it
will be immediately executed after changes were being pushed to DOM. The second argument
dependencies represent an optional array of dependencies. The useEffect() will execute the
callback only if there is a change in dependencies in between renderings.
Example:
The above code will update the document title which is considered to be a side-effect as it will
not calculate the component output directly. That is why updating of document title has been
placed in a callback and provided to useEffect().
Consider you don’t want to execute document title update each time on rendering of
WelcomeGreetings component and you want it to be executed only when the name prop
changes then you need to supply name as a dependency to useEffect(callback, [name]) .
In almost all of the cases, custom hooks are considered to be sufficient for replacing render
props and HoCs (Higher-Order components) and reducing the amount of nesting required.
Custom Hooks will allow you for avoiding multiple layers of abstraction or wrapper hell that
might come along with Render Props and HoCs.
function App() {
return (
<React.StrictMode>
<div classname="App">
<Header/>
<div>
Page Content
</div>
<Footer/>
</div>
</React.StrictMode>
);
}
Warning about the usage of legacy context API (because the API is error-prone).
The Parent component is the parent component and the Message is the child component.
Any change in the parent component will lead to re-rendering of the child component as
well. To prevent the re-rendering of child components, we use the
shouldComponentUpdate( ) method:
**Note- Use shouldComponentUpdate( ) method only when you are sure that it’s a static
component.
As one can see in the code above, we have returned false from the shouldComponentUpdate( )
method, which prevents the child component from re-rendering.
Using JavaScript object: We can create a separate JavaScript object and set the desired
style properties. This object can be used as the value of the inline style attribute.
headingStyles = {
color: "blue",
fontSize: "48px"
};
render() {
return (
<div>
<h3 style={this.headingStyles}>This is a heading</h3>
<p style={this.paragraphStyles}>This is a paragraph</p>
</div>
);
}
}
CSS Stylesheet: We can create a separate CSS file and write all the styles for the component
inside that file. This file needs to be imported inside the component file.
import './RandomComponent.css';
CSS Modules: We can create a separate CSS module and import this module inside our
component. Create a file with “.module.css”‘ extension, styles.module.css:
.paragraph{
color:"red";
border:1px solid black;
}
We can import this file inside the component and use it:
Using useMemo( ) -
It is a React hook that is used for caching CPU-Expensive functions.
Sometimes in a React app, a CPU-Expensive function gets called repeatedly due to re-
renders of a component, which can lead to slow rendering.
useMemo( ) hook can be used to cache such functions. By using useMemo( ), the CPU-
Expensive function gets called only when it is needed.
Using React.PureComponent -
It is a base component class that checks the state and props of a component to know
whether the component should be updated.
Sometimes in React app, we have a lot of unnecessary states inside the parent
component which makes the code less readable and harder to maintain. Not to forget,
having many states inside a single component leads to unnecessary re-renders for the
component.
It is better to shift states which are less valuable to the parent component, to a separate
component.
Lazy Loading -
It is a technique used to reduce the load time of a React app. Lazy loading helps reduce
the risk of web app performances to a minimum.
With the help of props, we can send data from a parent to a child component.
How do we do this?
return (
<div>
<button onClick={increment}>Increment Counter</button>
<ChildComponent counterValue={counter} />
</div>
);
}
As one can see in the code above, we are rendering the child component inside the parent
component, by providing a prop called counterValue. The value of the counter is being passed
from the parent to the child component.
We can use the data passed by the parent component in the following way:
function ChildComponent(props) {
return (
<div>
<p>Value of counter: {props.counterValue}</p>
</div>
);
}
We use the props.counterValue to display the data passed on by the parent component.
Create a callback in the parent component which takes in the data needed as a parameter.
Step1 and Step2: Create a callback in the parent component, pass this callback as a prop.
function ParentComponent(props) {
let [counter, setCounter] = useState(0);
let callback = valueFromChild => setCounter(valueFromChild);
return (
<div>
<p>Value of counter: {counter}</p>
<ChildComponent callbackFunc={callback} counterValue={counter} />
</div>
);
}
As one can see in the code above, we created a function called callback which takes in the data
received from the child component as a parameter.
function ChildComponent(props) {
let childCounterValue = props.counterValue;
return (
<div>
<button onClick={() => props.callbackFunc(++childCounterValue)}>
Increment Counter
</button>
</div>
);
}
In the code above, we have used the props.counterValue and set it to a variable called
childCounterValue.
This way, we can pass data from the child to the parent component.
While developing React applications, we might develop components that are quite similar to
each other with minute differences. In most cases, developing similar components might not be
an issue but, while developing larger applications we need to keep our code DRY, therefore, we
want an abstraction that allows us to define this logic in a single place and share it across
components. HOC allows us to create that abstraction.
Example of a HOC:
Consider the following components having similar functionality. The following component
displays the list of articles:
Notice the above components, both have similar functionality but, they are calling different
methods to an API endpoint.
In the code above, we have created a function called HOC which returns a component and
performs functionality that can be shared across both the ArticlesList component and UsersList
Component.
The second parameter in the HOC function is the function that calls the method on the API
endpoint.
Using the concept of Higher-Order Components, we can now render the ArticlesList and
UsersList components in the following way:
Remember, we are not trying to change the functionality of each component, we are trying to
share a single functionality across multiple components using HOC.
Initialization: During this phase, React component will prepare by setting up the default
props and initial state for the upcoming tough journey.
Mounting: Mounting refers to putting the elements into the browser DOM. Since React
uses VirtualDOM, the entire browser DOM which has been currently rendered would not be
refreshed. This phase includes the lifecycle methods componentWillMount and
componentDidMount .
Updating: In this phase, a component will be updated when there is a change in the state or
props of a component. This phase will have lifecycle methods like componentWillUpdate ,
shouldComponentUpdate , render , and componentDidUpdate .
Unmounting: In this last phase of the component lifecycle, the component will be removed
from the DOM or will be unmounted from the browser DOM. This phase will have the
lifecycle method named componentWillUnmount .
For example, if you are developing the YouTube application, then the application will make use of
a network for buffering the videos and it consumes the power of the battery (assume only these
two). After playing the video if the user switches to any other application, then you should make
sure that the resources like network and battery are being used most efficiently. You can stop or
pause the video buffering which in turn stops the battery and network usage when the user
switches to another application after video play.
So we can say that the developer will be able to produce a quality application with the help of
lifecycle methods and it also helps developers to make sure to plan what and how to do it at
different points of birth, growth, or death of user interfaces.
constructor() : This method will be called when the component is initiated before anything
has been done. It helps to set up the initial state and initial values.
getDerivedStateFromProps() : This method will be called just before element(s) rendering in
the DOM. It helps to set up the state object depending on the initial props. The
getDerivedStateFromProps() method will have a state as an argument and it returns an
object that made changes to the state. This will be the first method to be called on an
updating of a component.
render() : This method will output or re-render the HTML to the DOM with new changes.
The render() method is an essential method and will be called always while the remaining
methods are optional and will be called only if they are defined.
componentDidMount() : This method will be called after the rendering of the component.
Using this method, you can run statements that need the component to be already kept in
the DOM.
shouldComponentUpdate() : The Boolean value will be returned by this method which will
specify whether React should proceed further with the rendering or not. The default value
for this method will be True.
getSnapshotBeforeUpdate() : This method will provide access for the props as well as for the
state before the update. It is possible to check the previously present value before the
update, even after the update.
componentDidUpdate() : This method will be called after the component has been updated
in the DOM.
componentWillUnmount() : This method will be called when the component removal from
1. Built-in Hooks: The built-in Hooks are divided into 2 parts as given below:
Basic Hooks:
useState() : This functional component is used to set and retrieve the state.
useEffect() : It enables for performing the side effects in the functional components.
components hierarchy without having to pass the props down to each level.
Additional Hooks:
useReducer() : It is used when there is a complex state logic that is having several sub-
values or when the upcoming state is dependent on the previous state. It will also
enable you to optimization of component performance that will trigger deeper updates
as it is permitted to pass the dispatch down instead of callbacks.
useMemo() : This will be used for recomputing the memoized value when there is a
change in one of the dependencies. This optimization will help for avoiding expensive
calculations on each render.
useCallback() : This is useful while passing callbacks into the optimized child
components and depends on the equality of reference for the prevention of unneeded
renders.
useImperativeHandle() : It will enable modifying the instance that will be passed with
useDebugValue() : It is used for displaying a label for custom hooks in React DevTools.
useRef() : It will permit creating a reference to the DOM element directly within the
functional component.
useLayoutEffect() : It is used for the reading layout from the DOM and re-rendering
synchronously.
2. Custom Hooks: A custom Hook is basically a function of JavaScript. The Custom Hook working
is similar to a regular function. The “use” at the beginning of the Custom Hook Name is required
for React to understand that this is a custom Hook and also it will describe that this specific
function follows the rules of Hooks. Moreover, developing custom Hooks will enable you for
extracting component logic from within reusable functions.
It will not require a declaration of any It is necessary to declare the constructor inside
kind of constructor. the class component.
React Hooks can be helpful in Because of the long setup of state declarations,
implementing Redux and context API. class states are generally not preferred.
12. How does the performance of using Hooks will differ in comparison with
the classes?
React Hooks will avoid a lot of overheads such as the instance creation, binding of events,
etc., that are present with classes.
Hooks in React will result in smaller component trees since they will be avoiding the nesting
that exists in HOCs (Higher Order Components) and will render props which result in less
amount of work to be done by React.
getSnapshotBeforeUpdate()
getDerivedStateFromError()
componentDidCatch()
Since it is an early time for Hooks, few third-party libraries may not be compatible with Hooks at
present, but they will be added soon.
BrowserRouter: It is a router implementation that will make use of the HTML5 history API
(pushState, popstate, and event replaceState) for keeping your UI to be in sync with the
URL. It is the parent component useful in storing all other components.
Routes: It is a newer component that has been introduced in the React v6 and an upgrade of
the component.
Link: It is useful in creating links to various routes and implementing navigation all over the
application. It works similarly to the anchor tag in HTML.
In commercial web applications which is larger, the complexity will be high, so using only React
Hook may not be sufficient. Few developers will try to tackle the challenge with the help of
React Hooks and others will combine React Hooks with the Redux.
Using if-else conditional logic which is suitable for smaller as well as for medium-sized
applications
Using ternary operators, which takes away some amount of complication from if-else
statements
Open the Terminal inside the folder of your choice, and run the following command:
Here, the create-react-app is an app initializer created by Facebook, to help with the easy and
quick creation of React application, providing options to customize it while creating the
application? The above command will create a new folder named react-items-with-hooks and it
will be initialized with a basic React application. Now, you will be able to open the project in your
favourite IDE. You can see an src folder inside the project along with the main application
component App.js . This file is having a single function App() which will return an element
and it will make use of an extended JavaScript syntax(JSX) for defining the component.
JSX will permit you for writing HTML-style template syntax directly into the JavaScript file. This
mixture of JavaScript and HTML will be converted by React toolchain into pure JavaScript that
will render the HTML element.
It is possible to define your own React components by writing a function that will return a JSX
element. You can try this by creating a new file src/SearchItem.js and put the following code into
it.
This is all about how you can create a component. It will only display the empty table and doesn’t
do anything. But you will be able to use the Search component in the application. Open the file
src/App.js and add the import statement given below to the top of the file.
Now, from the logo.svg, import will be removed and then contents of returned value in the
function App() will be replaced with the following code:
<div className="App">
<header>
Items with Hooks
</header>
<SearchItem/>
</div>
You can notice that the element <SearchItem/> has been used just similar to an HTML element.
The JSX syntax will enable for including the components in this approach directly within the
JavaScript code. Your application can be tested by running the below-given command in your
terminal.
npm start
This command will compile your application and open your default browser into
http://localhost:4000. This command can be kept on running when code development is in
progress to make sure that the application is up-to-date, and also this browser page will be
reloaded each time you modify and save the code.
This application will work finely, but it doesn’t look nice as it doesn’t react to any input from the
user. You can make it more interactive by adding a state with React Hooks, adding
authentication, etc.
A below-given example will show you how to display different pages based on page prop using
switching component:
Using the below-given code, we can render the view when the browser is resized.
componentWillMount() {
this.updateDimension()
}
componentDidMount() {
window.addEventListener('resize', this.updateDimension)
}
componentWillUnmount() {
window.removeEventListener('resize', this.updateDimension)
}
updateDimension() {
this.setState({width: window.innerWidth, height: window.innerHeight})
}
render() {
return <span>{this.state.width} x {this.state.height}</span>
}
}
20. How to pass data between sibling components using React router?
Passing data between sibling components of React is possible using React Router with the help
of history.push and match.params .
In the code given below, we have a Parent component AppDemo.js and have two Child
Components HomePage and AboutPage . Everything is kept inside a Router by using React-
router Route. It is also having a route for /about/{params} where we will pass the data.
The HomePage is a functional component with a button. On button click, we are using
props.history.push(‘/about/’ + data) to programmatically navigate into /about/data .
Also, the functional component AboutPage will obtain the data passed by
props.match.params.aboutId .
After button click in the HomePage the page will look like below:
Conclusion
React has got more popularity among the top IT companies like Facebook, PayPal, Instagram,
Uber, etc., around the world especially in India. Hooks is becoming a trend in the React
community as it removes the state management complexities.
This article includes the most frequently asked ReactJS and React Hooks interview questions
and answers that will help you in interview preparations. Also, remember that your success
during the interview is not all about your technical skills, it will also be based on your state of
mind and the good impression that you will make at first. All the best!!
Node.js vs React.js
Javascript framework
Javascript file
Integration with other frameworks (like BackboneJS, Angular, etc.) becomes easier because it is
only a view library
3. The number of elements that can be returned by a valid React component is ______.
5
4. What is the declarative approach for rendering a dynamic list of components depending on
array values?
Permanent storage
install -g create-react-app
setState
PropTypes
props
Dom
Props
JSX
Flux
It is a module bundler
React will use inline templating and JSX which might seem awkward to a few developers
ReactJS is only for the view layer of the application, which means we will make use of other
technologies as well for getting complete tooling set for the application development
All of these
None of these
12. The Keys given to a list of elements in React should be ______.
13. What function will permit for rendering the React content in an HTML page?
React.render()
ReactDOM.start()
React.mount()
ReactDOM.render()
Connectivity
Database
User interface
Design platform
15. ______ is a necessary API for every React.js component.
renderComponent
render
SetinitialComponent
Blog Community
About Us FAQ
Contact Us Terms
Privacy Policy
Programming Python
Scripting Java
Databases Javascript
Puzzle
Companies
Top Articles
Highest Paying Jobs In India Exciting C Projects Ideas With Source Code
Top Java 8 Features Angular Vs React 10 Best Data Structures And Algorithms Books
Exciting C Projects Ideas With Source Code Best Full Stack Developer Courses
Best Data Science Courses Python Commands List Data Scientist Salary
Top MCQ
Java Mcq Data Structure Mcq Dbms Mcq C Programming Mcq C++ Mcq