react组件间的通信

父组件向子组件传值

通过组件的props属性

  • 在父组件中通过标签使用子组件,在子组件标签上添加属性
  • 在子组件中可以通过this.props获取到子组件上添加的标签属性

子组件向父组件传值

通过函数型的props

  • 在父组件中定义一个函数,并将这个函数通过props传给子组件
  • 在子组件中调用父组件通过props传递过来的函数,并传入参数

任意组件

借用pubsub-js库

  • 在A组件中订阅消息(接收数据)
import PubSub from 'pubsub-js'

componentDidMount(){
	this.token = PubSub.subscribe('atguigu',(msg,stateObj)=>{
	//第一个msg是消息名,第二个参数才是接收的数据
		this.setState(stateObj)
	})
}

//最好还要在卸载的时候取消订阅
componentWillUnmount(){
	PubSub.unsubscribe(this.token)
}

  • 在B组件中发布消息(传递数据)
import PubSub from 'pubsub-js'
PubSub.publish('atguigu',{isLoading:false,users:response.data.items})
posted @ 2021-10-12 21:17  Fen~  阅读(39)  评论(0)    收藏  举报