好客租房51-通讯的三种方式(子组件传递给父组件)
思路:利用回调函数 父组件提供回调 子组件调用 将要传递的数据作为回调函数的参数
//导入react
import React from 'react'
import ReactDOM from 'react-dom'
//导入组件
// 约定1:类组件必须以大写字母开头
// 约定2:类组件应该继承react.component父类 从中可以使用父类的方法和属性
// 约定3:组件必须提供render方法
// 约定4:render方法必须有返回值
class Parent extends React.Component {
state = {
data: '',
}
getChildMsg = (data) => {
console.log('接受到子组件传递过去的数据:' + data)
this.setState({
data,
})
}
render() {
return (
<div>
父组件:{this.state.data}
<Child getMsg={this.getChildMsg} />
</div>
)
}
}
class Child extends React.Component {
state = {
name: 'geyao',
}
handleClick = () => {
this.props.getMsg(this.state.name)
}
render() {
return (
<div>
子组件:<button onClick={this.handleClick}>点击</button>
</div>
)
}
}
ReactDOM.render(<Parent />, document.getElementById('root'))
运行结果