1.创建一个父组件,并将路径引入app.js中
import React,{Component} from 'react'
import Zi from './zi'
class Father extends Component{
constructor(props){
super(props)
//初始化一个状态
this.state={
name:'暴发户',
number:Math.random()
}
//按钮绑定数据
this.handButtonClick=this.handButtonClick.bind(this)
}
//给按钮一个方法
handButtonClick(){
this.setState({
number:Math.random()
})
}
render(){
//接收数据
let{ handButtonClick }=this
let{ name, number }=this.state
return(
<div>
<h1>{ name }</h1>
<p>{ number }</p>
<button onClick={ handButtonClick }>Change Number</button>
<hr/>
<Zi num={number }/>
</div>
)
}
}
export default Father
2.创建子组件
import React,{ Component } from 'react'
class Zi extends Component{
constructor(props){
super(props)
this.state={
num:props.num
}
}
// 这个方法可以在render之前又一次更新数据的机会
static getDerivedStateFromProps(props,state){
return{
num:props.num
}
}
render(){
let{ num }=this.state
return(
<div>
{ num }
</div>
)
}
}
export default Zi