首页 > 解决方案 > 将事件转换为 Redux 操作

问题描述

目前,我正在开发一个项目,使用事件来更新侦听这些事件的其他组件,并尝试将这些事件转换为 Redux 操作。

例如,当用户登录时,组件会监听此事件并调用 API 来更新其状态,事件是根据组件是否存在而触发的,因此使用 Redux 我必须检查道具是否在组件使用componentWillupdate并从那里我调用 API。

我需要知道这是否是做类似事情的最佳解决方案,还是我可以使用另一个插件?

标签: reactjsreduxredux-thunk

解决方案


我会将删除发出/监听事件模式的代码重构为更接近 Redux 架构的代码。

发出事件的组件应该调用动作创建者。这些动作创建者可以调用 REST API 或执行其他异步操作(例如使用redux-thunk)并生成零个、一个或多个动作来更新 Redux 的状态。

另一方面,监听事件的组件必须接收来自 Redux 状态的新数据并相应地更新。一个简单的组件应该在它的 props 改变时改变它的行为,换句话说,当它的状态改变时。在这种情况下,组件的状态是存储在 Redux 中的数据子集,并在调度新操作时由 reducer 更新。


推荐阅读