44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Pass a Callback as Props | ||
|  | --- | ||
|  | ## Pass a Callback as Props
 | ||
|  | 
 | ||
|  | <!-- The article goes here, in GitHub-flavored Markdown. Feel free to add YouTube videos, images, and CodePen/JSBin embeds  --> | ||
|  | ### Description
 | ||
|  | - Add the `GetInput` component to the render method in MyApp, then pass it a prop called `inpu`t assigned to `inputValue` from MyApp's state. Also create a prop called `handleChange` and pass the input handler `handleChange` to it. | ||
|  | - Add `RenderInput` to the render method in MyApp, then create a prop called `input` and pass the `inputValue` from state to it. | ||
|  | 
 | ||
|  | ### Hints
 | ||
|  | - `state` is a property of `Myapp` class, so use 'this.state' to get the object value | ||
|  | - To learn more about state and props, read [State and Lifecycle](https://reactjs.org/docs/state-and-lifecycle.html) and [Components and Props](https://reactjs.org/docs/components-and-props.html). | ||
|  | 
 | ||
|  | ### Solution
 | ||
|  | ```javascript | ||
|  | class MyApp extends React.Component { | ||
|  |   constructor(props) { | ||
|  |     super(props); | ||
|  |     this.state = { | ||
|  |       inputValue: '' | ||
|  |     } | ||
|  |     this.handleChange = this.handleChange.bind(this); | ||
|  |   } | ||
|  |   handleChange(event) { | ||
|  |     this.setState({ | ||
|  |       inputValue: event.target.value | ||
|  |     }); | ||
|  |   } | ||
|  |   render() { | ||
|  |     return ( | ||
|  |        <div> | ||
|  |         { /* change code below this line */  | ||
|  |         <GetInput input={this.state.inputValue} handleChange={this.handleChange}/> | ||
|  |         } | ||
|  |         { /* change code above this line */  | ||
|  |         <RenderInput input={this.state.inputValue}/> | ||
|  |         } | ||
|  |        </div> | ||
|  |     ); | ||
|  |   } | ||
|  | }; | ||
|  | ``` |