gpt4 book ai didi

reactjs - 使用 Redux 分派(dispatch)与组件无关的操作的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-03 13:24:44 27 4
gpt4 key购买 nike

我有一个项目,其中nodejs服务器通过socket.io将推送事件传递到react仪表板,我正在使用Redux。当收到新数据时,会触发一个操作来更新所有相关组件,尽管我不确定我这样做的方式是否正确。

这是我监视来自服务器的新传入数据的方式:

  socket.on('incidents', state => {
boundActionSetIncidentsList(state);
});

这是在新数据上调用的有界操作创建器:

  import { store } from '../index';

export function boundActionSetIncidentsList(incidents) {
store.dispatch(actionSetIncidentsList(incidents));
}

我需要存储来分派(dispatch)操作,正如您所看到的,我残酷地从主index.js导入它。它的创建方式如下:

  export const store = createStore();

作为 React 和 Redux 的新手,我想知道调度不是从容器或演示组件触发的操作的 Redux 方式是什么。谢谢!!

最佳答案

您可以包装代码,将套接字监听器设置为一个将存储作为参数的函数。因此,至少您的客户端主例程可以设置存储并在准备就绪时将其传递给套接字监听器。

您还可以尝试使用库来提供帮助。这是一些 redux 中间件,可以在服务器发送数据时自动将操作分派(dispatch)到存储中:

https://github.com/itaylor/redux-socket.io

关于reactjs - 使用 Redux 分派(dispatch)与组件无关的操作的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36184776/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com