父組件向子組件通信
- 回調(diào)函數(shù)
goDetail = (msg) => {
console.log(msg)
}
render() {
const { item } = this.state
return(
<HotItem data={item} goDetail={() => this.goDetail()} />
)
}
直接把函數(shù)傳到組件里面,然后組件里面調(diào)用this.props.goDetail函數(shù)來(lái)完成回調(diào)
- 添加ref屬性
init() {
this.refs.renderListMap.initMap(coordinateX, coordinateY, hotelName, 0)
}
render() {
return(
<ListMap ref="renderListMap" />
)
}
通過(guò)給組件設(shè)置ref屬性,然后就可以使用this.refs.renderListMap...來(lái)調(diào)用組件里面的方法。
子組件向父組件通信
- 回調(diào)函數(shù)
子組件 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 }} />