Redux工具包-如何在切片之间共享操作



我使用的是Redux Toolkit,有三个组件,每个组件都有一个切片:a、B、C。

我需要组件A来调度一个动作,需要组件B和C来对它做出反应。我如何实现所有组件不相互依赖,类似于pub/sub模式?

首先,在对动作作出反应的组件B和C中添加extraReducers

然而,您可能会陷入循环引用问题。其中一个组件引用另一个组件,反之亦然。

作者提到了我曾经使用过的github上的一个解决方案。也就是说,将共享的减速器分离到一个单独的文件中。我对此的实现如下:

  • 功能A/byId/actions.js包含定义的操作使用createAction
  • featureB/byId/actions.js包含用createAction定义的操作

每个createAction都是类似于以下的操作:

const createTodo = createAction("todos/createTodo");
  • featureA/byId/reducer.js从上面的两个action.js文件导入其extraReducer操作
  • featureB/byId/reducer.js从上面的两个action.js文件导入其extraReducer操作

结果:在多个减速器中使用的操作没有循环参考问题。

相关内容

  • 没有找到相关文章

最新更新