React Js

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 32

Basic Level - ReactJS Interview Questions

Here are some ReactJS Interview Questions on basic concepts.

1. What are the features of React?

JSX:  JSX is a syntax extension


to JavaScript. It is used with
React to describe what the user
interface should look like. By
using JSX, we can
write HTML structures in the
same file that
contains JavaScript code.

Components: Components are
the building blocks of any React
application, and a single app
usually consists of multiple
components. It splits the user
interface into independent,
reusable parts that can be
processed separately.
Virtual DOM: React keeps a
lightweight representation of the
real DOM in the memory, and
that is known as the virtual DOM.
When the state of an object
changes, virtual DOM changes
only that object in the real DOM,
rather than updating all the
objects.

One-way data-binding: React’s
one-way data binding keeps
everything modular and fast. A
unidirectional data flow means
that when designing a React
app, you often nest child
components within parent
components.

High performance: React
updates only those components
that have changed, rather than
updating all the components at
once. This results in much faster
web applications.
2. What is JSX?

JSX is a syntax extension of JavaScript. It is used with React to describe what the user
interface should look like. By using JSX, we can write HTML structures in the same file
that contains JavaScript code.

3. Can web browsers read JSX directly? 

 Web browsers cannot read JSX directly. This is because they are built to only read
regular JS objects and JSX is not a regular JavaScript object 

 For a web browser to read a JSX file, the file needs to be transformed into a regular
JavaScript object. For this, we use Babel

4. What is the virtual DOM?


DOM stands for Document Object Model. The DOM represents an HTML document with
a logical tree structure. Each branch of the tree ends in a node, and each node contains
objects.

React keeps a lightweight representation of the real DOM in the memory, and that is
known as the virtual DOM. When the state of an object changes, the virtual DOM
changes only that object in the real DOM, rather than updating all the objects.

5. Why use React instead of other frameworks, like Angular?

 Easy creation of dynamic


applications: React makes it
easier to create dynamic web
applications because it provides
less coding and provides more
functionality, whereas, with
JavaScript applications, code
tends to get complex very
quickly.

Improved performance: React
uses virtual DOM, which makes
web applications perform faster.
Virtual DOM compares its
previous state and updates only
those components in the real
DOM, whose states have
changed, rather than updating all
the components — like
conventional web applications.

Reusable
components: Components are
the building blocks of any React
application, and a single app
usually consists of multiple
components. These
components have their own
logic and controls, and they can
be reused through the
application, which, in turn,
dramatically reduces the
development time of an
application.

Unidirectional data flow: React


follows a unidirectional data
flow. This means that when
designing a React app, we often
nest child components within
parent components. And since
the data flows in a single
direction, it becomes easier to
debug errors and know where
the problem occurs in an
application at the moment.

Dedicated tools for easy


debugging: Facebook has
released a chrome extension
that we can use to debug React
applications. This makes the
process of debugging React to
web applications faster and
easier.

6. What is the difference between the ES6 and ES5


standards?

These are the few instances where ES6 syntax has changed from ES5 syntax:

 Components and Function

 exports vs export
 require vs import

7. How do you create a React app?

These are the steps for creating a React app:

 Install NodeJS on the computer because we need npm to install the React


library. Npm is the node package manager that contains many JavaScript
libraries, including React.

 Install the create-react-app package using the command prompt or terminal.


 Install a text editor of your choice, like VS Code or Sublime Text.

We have put together a set of Node.js interview questions in case you would like to
explore them.

8. What is an event in React?

An event is an action that a user or system may trigger, such as pressing a key, a mouse
click, etc.

 React events are named using camelCase, rather than lowercase in HTML.

 With JSX, you pass a function as the event handler, rather than a string in
HTML.

<Button onPress={lightItUp} />

9. How do you create an event in React?

A React event can be created by doing the following:


10. What are synthetic events in React?

 Synthetic events combine the response of different browser's native events


into one API, ensuring that the events are consistent across different
browsers.

 The application is consistent regardless of the browser it is running in.


Here, preventDefault is a synthetic event.

11. Explain how lists work in React

 We create lists in React as we do in regular JavaScript. Lists display data in an


ordered format

 The traversal of lists is done using the map() function


12. Why is there a need for using keys in Lists?

Keys are very important in lists for the following reasons:

 A key is a unique identifier and it is used to identify which items have changed,
been updated or deleted from the lists

 It also helps to determine which components need to be re-rendered instead


of re-rendering all the components every time. Therefore, it increases
performance, as only the updated components are re-rendered

13. What are forms in React?

React employs forms to enable users to interact with web applications.

 Using forms, users can interact with the application and enter the required
information whenever needed. Form contain certain elements, such as text
fields, buttons, checkboxes, radio buttons, etc

 Forms are used for many different tasks such as user authentication,
searching, filtering, indexing, etc

14. How do you create forms in React?


We create forms in React by doing the following: 

The above code will yield an input field with the label Name and a submit button. It will
also alert the user when the submit button is pressed. 

15. How do you write comments in React?

There are basically two ways in which we can write comments:

 Single-line comments
 Multi-line comments

16. What is an arrow function and how is it used in React?

 An arrow function is a short way of writing a function to React.

 It is unnecessary to bind ‘this’ inside the constructor when using an arrow


function. This prevents bugs caused by the use of ‘this’ in React callbacks.
17. How is React different from React Native?

React React Native

Release 2013 2015

Platform Web Mobile – Android, iOS

HTML Yes No
CSS Yes No

Prerequisites JavaScript, HTML, CSS React.js

18. How is React different from Angular?

Angular React

Author Google Facebook

Architecture Complete MVC View layer of MVC

DOM Real DOM Virtual DOM

Data-Binding Bi-directional Uni-directional


Rendering Client-Side Server-Side

Performance Comparatively slow Faster due to Virtual DOM

In case you have any doubts about these Basic React interview questions and answers,
please leave your questions in the comment section below.

ReactJS Interview Questions on Components

Here are some ReactJS Interview Questions on components.

19. What are the components in React?

Components are the building blocks of any React application, and a single app usually
consists of multiple components. A component is essentially a piece of the user
interface. It splits the user interface into independent, reusable parts that can be
processed separately.

There are two types of components in React:


 Functional Components: These types of components have no state of their
own and only contain render methods, and therefore are also called stateless
components. They may derive data from other components as props
(properties).

function Greeting(props) {

  return <h1>Welcome to {props.name}</h1>;

 Class Components: These types of components can hold and manage their


own state and have a separate render method to return JSX on the screen.
They are also called Stateful components as they can have a state.

class Greeting extends React.Component {

  render() {

    return <h1>Welcome to {this.props.name}</h1>;

  }

20. What is the use of render() in React?


 It is required for each component to have a render() function. This function
returns the HTML, which is to be displayed in the component.

 If you need to render more than one element, all of the elements must be
inside one parent tag like <div>, <form>.

21. What is a state in React?

 The state is a built-in React object that is used to contain data or information
about the component. The state in a component can change over time, and
whenever it changes, the component re-renders.

 The change in state can happen as a response to user action or system-


generated events. It determines the behavior of the component and how it will
render.

22. How do you implement state in React?


23. How do you update the state of a component?

We can update the state of a component by using the built-in ‘setState()’ method:

24. What are props in React?

 Props are short for Properties. It is a React built-in object that stores the value
of attributes of a tag and works similarly to HTML attributes.
 Props provide a way to pass data from one component to another component.
Props are passed to the component in the same way as arguments are
passed in a function.

25. How do you pass props between components?

26. What are the differences between state and props?

State Props

Allows to pass data from one


Holds information about the
Use component to other components as
components
an argument

Mutability Is mutable Are immutable


Read-Only Can be changed Are read-only

Child Child components cannot


Child component can access 
components access 

Stateless
Cannot have state Can have props
components

27. What is a higher-order component in React?

A higher-order component acts as a container for other components. This helps to keep
components simple and enables re-usability. They are generally used when multiple
components have to use a common logic. 

28. How can you embed two or more components into one?

We can embed two or more components into one using this method:
29. What are the differences between class and functional components?

Class Components Functional Components

State Can hold or manage state Cannot hold or manage state

Complex as compared to the


Simplicity Simple and easy to understand
stateless component
Lifecycle Can work with all lifecycle Does not work with any lifecycle
methods methods method

Reusability Can be reused Cannot be reused

 Class components example:

 Functional components example:

30. Explain the lifecycle methods of components.

 getInitialState(): This is executed before the creation of the component.

 componentDidMount(): Is executed when the component gets rendered and


placed on the DOM.

 shouldComponentUpdate(): Is invoked when a component determines


changes to the DOM and returns a “true” or “false” value based on certain
conditions.
 componentDidUpdate(): Is invoked immediately after rendering takes place.

 componentWillUnmount(): Is invoked immediately before a component is


destroyed and unmounted permanently.

So far, if you have any doubts about the above React interview questions and answers,
please ask your questions in the section below.

ReactJS Redux Interview Questions

Here are some ReactJS Interview Questions on the ReactJS Redux concept.

31. What is Redux?

Redux is an open-source, JavaScript library used to manage the application state. React
uses Redux to build the user interface. It is a predictable state container for JavaScript
applications and is used for the entire application’s state management.

32. What are the components of Redux?

 Store: Holds the state of the application.

 Action: The source information for the store.

 Reducer: Specifies how the application's state changes in response to actions


sent to the store.
33. What is the Flux?

 Flux is the application architecture that Facebook uses for building web
applications. It is a method of handling complex data inside a client-side
application and manages how data flows in a React application.

 There is a single source of data (the store) and triggering certain actions is the
only way way to update them.The actions call the dispatcher, and then the
store is triggered and updated with their own data accordingly.

 When a dispatch has been triggered, and the store updates, it will emit a
change event that the views can rerender accordingly.
34. How is Redux different from Flux?

SN Redux Flux

Redux is an open-source
Flux is an architecture and not a framework or
1. JavaScript library used to
library
manage application State

2. Store’s state is immutable Store’s state is mutable


3. Can only have a single-store Can have multiple stores

4. Uses the concept of reducer Uses the concept of the dispatcher

So far, if you have any doubts about these React interview questions and answers,
please leave your questions in the section below.

ReactJS Router Questions

Here are some ReactJS Interview Questions on React Router concepts.

35. What is React Router?

React Router is a routing library built on top of React, which is used to create routes in a
React application. 

36. Why do we need to React Router?

 It maintains consistent structure and behavior and is used to develop single-


page web applications. 

 Enables multiple views in a single application by defining multiple routes in the


React application.

37. How is React routing different from conventional routing?


SN React Routing Conventional routing

1. Single HTML page Each view is a new HTML file

The user navigates multiple


2. The user navigates multiple files for each view
views in the same file

The page does not refresh since


3. The page refreshes every time user navigates
it is a single file

4. Improved performance Slower performance

38. How do you implement React routing?

We can implement routing in our React application using this method:

Considering we have the components App, About, and Contact in our application:


Hope you have no doubts about this ReactJS interview questions article, in case of any
difficulty, please leave your problems in the section below.

ReactJS Styling Questions

Here are some ReactJS Interview Questions on Styling concept ReactJS.

39. How do you style React components?

There are several ways in which we can style React components:

 Inline Styling
 JavaScript Object

 CSS Stylesheet
40. Explain the use of CSS modules in React.

 The CSS module file is created with the .module.css extension

 The CSS inside a module file is available only for the component that imported
it, so there are no naming conflicts while styling the components.

These are all the basic to advanced ReactJS interview questions that are frequently
asked in interviews. We hope these ReactJS interview questions will be helpful in
clearing your interview round. All the best for your upcoming job interview! Suppose you
want to learn more about ReactJS components, I suggest you click here!

You might also like