在React中,父子组件可以通过props和回调函数进行通信;
但是,兄弟组件之间通信并没有提供现成的方法,如果要实现兄弟组件之间的通信,就需要在多层组件之间一层一层传递,将信息传给共同的父组件,然后父组件传递给子组件的方式;
这样非常繁琐和不利于维护;
引入第三方库PubSubJS,就能直接在触发事件的组件中发布消息,监听组件中订阅消息来实现兄弟组件的通信:
使用方法如下:
- 工具库: PubSubJS
- GitHub
- 下载: npm install pubsub-js --save
- 使用方法:
import PubSub from 'pubsub-js' //引入
PubSub.subscribe('delete', function(data){ }); //订阅
PubSub.publish('delete', data) //发布消息