How to pass multiple props in a single event handler in ReactJS?

0
8

ReactJS is a popular JavaScript library for building user interfaces. It follows a component-based architecture, where components are the building blocks of the application. When working with ReactJS, you may come across situations where you need to pass multiple props to an event handler. In this article, we will explore how to achieve this in ReactJS.

If we want to pass/call the multiple props methods in a single event handler in ReactJS then there are two ways to make it work.

Method 1: We can make a separate method for the event and call all the props method in that method. 

Syntax:

const seperateMethod = () => {
    props.method1()
    props.method2()
}

Method 2: We can create an anonymous function and call all the props method inside the anonymous method.

Syntax:

<Component onClick={() => {
    props.method1();
    props.method2()
}}>
</Component>

Creating 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.

Example: Now write down the following code in the App.js file. Here, App is our default component where we have written our code.

Javascript




import React from 'react';
export default class App extends React.Component {
 
    sayHi = () => {
        alert("Hi from GFG");
    }
    sayHello = () => {
        alert("Hello from GFG");
    }
 
    render() {
        return (
            <div style={{ marginLeft: 50 }}>
                <Child1 m1={this.sayHi}
                    m2={this.sayHello} >
                </Child1>
                <br></br>
                <Child2 m1={this.sayHi}
                    m2={this.sayHello}>
                </Child2>
            </div>
        )
    }
}
 
// Method 1
class Child1 extends React.Component {
 
    seperatemethod = () => {
        this.props.m1();
        this.props.m2();
    }
 
    render() {
        return (
            <div>
                <button onClick={this.seperatemethod}>
                    Hello Hi from GFG
                </button>
            </div>
        )
    }
}
 
// Method 2
class Child2 extends React.Component {
 
    render() {
        return (
            <div>
                <button onClick={() => {
                    this.props.m1();
                    this.props.m2();
                }}
                >Hello hi from GFG</button>
            </div>
        )
    }
}


Step to Run Application: Run the application using the following command from the root directory of the project:

npm start

Output: Now open your browser and go to http://localhost:3000/, you will see the following output:

Explanation: As we can see from the above code Child1 component is calling the multiple props using method 1, by creating a separate method and the child2 component is calling the multiple props by creating an anonymous method.

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

LEAVE A REPLY

Please enter your comment!
Please enter your name here