react父子组件通信
2019-07-03 本文已影响0人
冰清沧雨
父组件向子组件通信
- 回调函数
goDetail = (msg) => {
console.log(msg)
}
render() {
const { item } = this.state
return(
<HotItem data={item} goDetail={() => this.goDetail()} />
)
}
直接把函数传到组件里面,然后组件里面调用this.props.goDetail函数来完成回调
- 添加ref属性
init() {
this.refs.renderListMap.initMap(coordinateX, coordinateY, hotelName, 0)
}
render() {
return(
<ListMap ref="renderListMap" />
)
}
通过给组件设置ref属性,然后就可以使用this.refs.renderListMap...来调用组件里面的方法。
子组件向父组件通信
- 回调函数
子组件 ChildComponent.js
<img
alt=""
src={imgUrl || defaultImg} onClick={() => this.props.goDetail && this.props.goDetail('hello, world')}
onError={(e) => { e.target.onerror = null; e.target.src = defaultImg }} />