我有两个分离的组件在一个页面上运行,并且希望使用 Postal.js 在单击一个组件到另一个组件时发送消息。
当单击第一个组件时,它会发布帖子:
postal.publish({
channel: 'carts',
topic: 'item.add',
data: {
quantity: newQuantity
}
});
然后在第二个组件中,我在 componentDidMount() 中订阅该 channel :
postal.subscribe({
channel: 'carts',
topic: 'item.add',
callback: this.handleStorageChange.bind(this)
});
当我向订阅的组件添加窃听时,它显示该 channel 已成功订阅,但从未显示来自其他组件的帖子:
{"channel":"postal","topic":"subscription.created","data":{"event":"subscription.created","channel":"carts","topic":"item.add"},"timeStamp":"2018-03-14T01:59:38.309Z"}
当我向发布组件添加窃听时,它显示消息已发布:
{"channel":"carts","topic":"item.add","data":{"quantity":34},"timeStamp":"2018-03-14T01:59:41.844Z"}
我在这里做错了什么?
最佳答案
我尝试创建一个最小的代码片段来在两个组件之间进行通信。我能够接收订阅组件上的数据。
您可以引用此片段,https://codesandbox.io/s/kxqw6npm05
关于javascript - Postal.js 订阅未接收来自其他 React 组件的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49268760/