将useReducer状态传递给另一个useReducer

时间:2020-08-31 04:41:45

标签: javascript reactjs redux react-hooks

我正在尝试搜索一个简单的待办事项应用程序,而不是尝试通过处理待办事项的化简器来管理过滤后的状态,I was told改为设置另一个useReducer,然后通过该方法来管理过滤器在Redux(基于我的参考)上,reducer使用mapStateToProps。

问题是,当我将来自todos useReducer的状态传递到我的过滤器减速器状态时,当我更换减速器时,它不会更新。这是可以预期的。我的初始值是待办事项的状态(一个空数组),即使将新待办事项添加到列表中也总是如此。

那么,在这种情况下理想的方法是什么?

代码:

enter image description here

1 个答案:

答案 0 :(得分:0)

取决于您自己的状态-以最有效的方式调整状态。 Redux和React对此都没有意见。如果有必要将这些状态片放在一起,则可以这样做。使用useReducer,考虑将组件的整个状态存储在其中或将其分解。我将useReducer视为一堆useState语句的替代方案。

对于Redux,如果化简中的过滤器需要过滤另一个化简中的数据,请_do在组件中进行过滤,例如,

const filterdData = rawDataState.filter(x => x.someProperty === filterState)