67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Set State with this.setState | ||
|  | --- | ||
|  | ## Set State with this.setState
 | ||
|  | 
 | ||
|  | #### Hint 1:
 | ||
|  | ```JSX | ||
|  | class MyComponent extends React.Component { | ||
|  |   constructor(props) { | ||
|  |     super(props); | ||
|  |     this.state = { | ||
|  |       name: 'Initial State' | ||
|  |     }; | ||
|  |     this.handleClick = this.handleClick.bind(this); | ||
|  |   } | ||
|  |   handleClick() { | ||
|  |     // change code below this line | ||
|  |        // Update the state data by using "this.setState()" method. | ||
|  |        // You can look to the sample inside the description for calling "setState()" method. | ||
|  |     // change code above this line | ||
|  |   } | ||
|  |   render() { | ||
|  |     return ( | ||
|  |       <div> | ||
|  |         <button onClick={this.handleClick}>Click Me</button> | ||
|  |         <h1>{this.state.name}</h1> | ||
|  |       </div> | ||
|  |     ); | ||
|  |   } | ||
|  | }; | ||
|  | ``` | ||
|  | 
 | ||
|  | ## Solution
 | ||
|  | ```JSX | ||
|  | class MyComponent extends React.Component { | ||
|  |   constructor(props) { | ||
|  |     super(props); | ||
|  |     this.state = { | ||
|  |       name: 'Initial State' | ||
|  |     }; | ||
|  |     this.handleClick = this.handleClick.bind(this); | ||
|  |   } | ||
|  |   handleClick() { | ||
|  |     // change code below this line | ||
|  |     this.setState({ | ||
|  |       name: 'React Rocks!' | ||
|  |     }); | ||
|  |     // change code above this line | ||
|  |   } | ||
|  |   render() { | ||
|  |     return ( | ||
|  |       <div> | ||
|  |         <button onClick={this.handleClick}>Click Me</button> | ||
|  |         <h1>{this.state.name}</h1> | ||
|  |       </div> | ||
|  |     ); | ||
|  |   } | ||
|  | }; | ||
|  | ``` | ||
|  | ### Code Explanation:
 | ||
|  | 
 | ||
|  |  when users click the button the "handleClick()" method will be called and  | ||
|  | inside this method the data of the constuctor\`s state will be updated by "setState()" method. | ||
|  | then h1 tag will be changed with the new data of the constructor\`s state. | ||
|  | 
 | ||
|  | 
 |