【发布时间】:2018-02-28 15:28:36
【问题描述】:
我正在尝试使用 React、Redux 和 socket.io 构建一个应用程序! 我的问题是:您如何像这样初始化事件侦听器(Redux 中的操作):
export const addNotif = () => (dispatch) => {
socket.on('notification', (message) => {
dispatch(notification(message))
})
}
在 React 中没有访问 componentWillMount 因为我在组件上使用函数式编程。
我目前的问题是,如果我通过方法
添加通知
对于我的组件,每次收到新通知时,商店都会更新,因此组件会重新渲染,因此它会添加另一个 socket.on 事件,并且会继续进行。
关于如何以干净的方式解决这个问题的任何想法? 谢谢!
【问题讨论】:
-
这是一个在redux handlermedium.com/@gethylgeorge/…中使用sockets的小程序的例子,也许会有点帮助
-
@SterlingArcher 遗憾的是它没有!他在 Redux 中唯一使用 socket.on 的地方,之后他没有调用该操作(代码中已注释:()
标签: javascript reactjs socket.io redux