Props can be used to pass static values or the results of dynamic expressions to parent components.
Create React App
Type the following command to create a new react app:
npx create-react-app demo
Now, go to the project folder:
cd demo
Now, update default App.js with below code snippet
src\App.js
import React, { Component } from 'react'; import Area from './components/Area'; import Parameter from './components/Parameter'; class App extends Component { constructor(props) { super(props) this.state = { data: 0, len: 40, bre: 50 } this.updateState = this.updateState.bind(this); } updateState(calculation) { if(calculation == "Area") { this.setState({data: this.state.len * this.state.bre}) } else { this.setState({data: 2 * (this.state.len + this.state.bre)}) } } render() { return ( <div> Calculation: {this.state.data} <Area update={this.updateState} /> <Parameter update={this.updateState} /> </div> ) } } export default App;
Create new Area component and type out the below code into Area.js
src\components\Area.js
import React, { Component } from 'react'; class Area extends Component { render() { return ( <div> Area: <button onClick={() => this.props.update('Area')}> Area </button> </div> ); } } export default Area;
Create new Parameter component and type out the below code into Parameter.js
src\components\Parameter.js
import React, { Component } from 'react'; class Parameter extends Component { render() { return ( <div> Parameter: <button onClick={() => this.props.update('Parameter')}> Parameter </button> </div> ); } } export default Parameter;
The Area and Parameter components are passing the value from child component to parent component.
Most Helpful This Week
React JS Count number of checkboxes are checked
React JS update Div content on click
How to use function inside JSX expression?
React JSX
How to pass an Argument to a Method used inside JSX expression?
What is state in React?
Glyphicon Rating Star component
Integrate Bootstrap with ReactJS Application
React JS onClick event handler
Check which Radio button is Selected or Clicked