React数据共享插件-PubSub@H_502_1@
下载pubsub-js插件
npm install pubsub-js
PubSub.publish('state',{isLoading: true})
PubSub.subscribe('state', (msg, stateObj) => { this.setState(stateObj) })
注意点:要在组件被消去的时候,取消订阅
-
因为订阅一个变量的改变和settimeout这种函数一样,都有一个对这个订阅器的唯一标识,在settimeout中就是使用timer来记录,二pubsub有一个token,下面就是把token挂载到this上了,当组件被消去的时候,就对订阅进行取消
// 该生命函数可以用来初始化一些变量 componentDidMount() { // 如果有人发布了这个消息,那么就触发回调函数 this.token = PubSub.subscribe('state', (msg, stateObj) => { this.setState(stateObj) }) } componentwillUnmount() { // 组件消去的时候,就取消订阅 PubSub.unsubscribe(this.token) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。