How to call function inside render in ReactJS ?
Last Updated :
26 Jul, 2024
In React JS, the render method is a fundamental part of a component's lifecycle. It is responsible for rendering the component's JSX markup onto the DOM. While the render method itself should primarily handle rendering JSX, there are scenarios where you may need to call a function inside the render method. But it is not a good practice and may have some side effects instead you can call the functions in the lifecycle methods.
Prerequisites
Approach
To call function inside render in React JS we have to use the React Class Component instead of Functional Components as the render is only used in Class-based components. We can use the bind method to bind the defined function in the class.
Steps to Create React Application
Step 1: Create a React application using the following command.
npx create-react-app foldername
Step 2: After creating your project folder i.e. foldername, move to it using the following command.
cd foldername
Project Structure
It will look like the following-

Steps to install external libraries: Run this command in the terminal
npm i @mui/material @emotion/styled
Dependencies list in package.json file:
{
"dependencies": {
"@emotion/styled": "^11.11.0",
"@mui/material": "^5.14.14",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router": "^6.17.0",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4"
}
}
Example: We are making a class based component i.e RenderFunction. In this component, we will input two values and populate its sum in the TextField. This sum is calculated using getSum function that is called from render.
JavaScript
// Filename - App.js
import React from "react";
import TextField from "@mui/material/TextField";
class RenderFunction extends React.Component {
constructor() {
super();
this.state = {
answer: "Answer",
};
this.getSum = this.getSum.bind(this);
}
getSum() {
let x = parseInt(
document.getElementById("elementA").value
);
let y = parseInt(
document.getElementById("elementB").value
);
console.log(x + y);
this.setState({
answer: (x ? x : 0) + (y ? y : 0),
});
}
render() {
return (
<center>
<h1>
We will be calling sum function from
render
</h1>
<div>
<TextField
id="elementA"
variant="outlined"
/>
<TextField
id="elementB"
variant="outlined"
/>
<br></br>
<br></br>
<button
onClick={this.getSum}
className="btn btn-primary"
>
Get Sum
</button>
<br></br>
<br></br>
<TextField
id="elementC"
disabled
variant="outlined"
value={this.state.answer}
/>
</div>
</center>
);
}
}
export default function App() {
return (
<div className="App">
<RenderFunction />
</div>
);
}
Step to Run Application: Run the application  from the root directory of the project, using the following command
npm start
Output:
Example 2: We will toggle the background color of the div by calling a function from render.
JavaScript
import React from "react";
import TextField from '@mui/material/TextField';
class RenderFunction2 extends React.Component {
constructor() {
super();
this.state = {
bool: true,
bgColor: 'green'
}
this.getBackgroundColor =
this.getBackgroundColor.bind(this)
}
getBackgroundColor() {
console.log("hihi")
if (this.state.bool == true) {
this.setState({
bool: false,
bgColor: 'red'
})
} else {
this.setState(
{
bool: true,
bgColor: 'green'
}
)
}
}
render() {
return (
<center>
<div style={{
backgroundColor: this.state.bgColor
}}>
{console.log(this.getBackgroundColor)}
<h1 style={{ color: 'white' }}>
Hi Geek!!
</h1>
</div>
<br></br>
<br></br>
<button onClick={this.getBackgroundColor}
className="btn btn-danger">
Change backgroundColor
</button>
</center>
)
}
}
export default function App() {
return (
<div className="App">
<RenderFunction2 />
</div>
);
}
Output:
Similar Reads
How To Create a Delay Function in ReactJS ?
Delay functions in programming allow for pausing code execution, giving deveÂlopers precise control over timing. These functions are essential for tasks such as content display, animations, synchronization, and managing asynchronous operations. In this article, we will discuss how can we create a d
3 min read
How to conditionally render components in ReactJS ?
React is a declarative, efficient, and flexible JavaScript library for building user interfaces. Itâs âVâ in MVC. ReactJS is an open-source, component-based front-end library responsible only for the view layer of the application. It is maintained by Facebook.PrerequisitesNodeJS or NPMReact JSReact
3 min read
How to Render Lists in React?
In React, rendering lists of data is a common task. There are multiple approaches to achieve this. In this article we will explore various approaches to render lists in React. Table of Content Using map() methodUsing forEach() methodSteps to Setup a React App:Step 1: Create a React application using
2 min read
Write code to render a button in React JS
React is a UI library. It renders components written in JSX.  You can build and render any components as per your usage. In this article, we will see how to render a button in React JS. Prerequisites:NodeJS or NPMReact JSJSX SyntaxApproach to render a button: Let us create a React project and a UI t
2 min read
How to create Loading Screen in ReactJS ?
Loading screen plays a major role in enhancing UX development. In this article, we are going to learn how we can create a Loading Screen in ReactJs. A loading screen is a picture shown by a computer program, often a video game, while the program is loading or initializing.PrerequisitesJavaScript and
2 min read
How To Call Loading Function With React useEffect?
The useEffect runs by default after every render of the component. When placing useEffect in our component we tell React that we want to run the callback as an effect. React will run the effect after rendering and after performing the DOM updates. If we pass only a callback, the callback will run af
2 min read
How to access mapped objects in another function in ReactJS ?
Following is the simple approach to access objects of array.map() to another function in React We can directly call the function in array.map() and pass the object in that function to return the required value. Setting up environment and Execution: Step 1: Create React App command npx create-react-a
2 min read
How To Get Previous State In ReactJS Functional Component?
To get the previous state in ReactJS Functional Component we can use the previous value of the state while using the set state method. State can only be directly accessed in the class component so we will be using the react useState hook to accomplish the task.PrerequisitesReact JSReact JS functiona
2 min read
How to optimize React component to render it ?
ReactJS mainly depends upon the props (which are passed to it) and the state of the Component. Hence to reduce the number of times Component renders we can reduce the props and state it depends upon. This can be easily done by separating the logic of one component into several individual child compo
3 min read
How to implement search filter functionality in React JS ?
In React JS, search filter functionality involves dynamically filtering data displayed in components based on user input. It typically utilizes state management to track search query changes, updating the component's rendering to display only matching items in real time. Prerequisites:React React us
2 min read