小编典典

什么时候应该将Redux添加到React应用程序?

reactjs

我目前正在学习React,并且试图弄清楚如何与Redux一起使用它来构建移动应用程序。我对两者如何关联/一起使用感到困惑。例如,我在React
https://www.raywenderlich.com/99473/introducing-react-native-building-apps-
javascript中完成了本教程,但现在我想尝试在该应用中添加一些reducers /
action,我不确定这些内容将与我已经完成的工作联系在一起。


阅读 266

收藏
2020-07-22

共1个答案

小编典典

React是一个UI框架,负责响应“真相源”(通常被描述为某个组件“拥有”的状态)来更新UI。在React中的思考很好地描述了React状态所有权概念,我强烈建议您仔细研究一下。

当状态是分层的并且或多或少匹配组件结构时,此状态所有权模型可以很好地工作。这样,状态就可以“分散”到许多组件中,并且该应用程序易于理解。

但是,有时应用程序的较远部分希望能够访问相同的状态,例如,如果您缓存获取的数据并希望同时在各处一致地更新它。在这种情况下,如果您遵循React模型,您将在组件树的顶部得到一堆非常大的组件,这些组件将无数个prop向下传递给一些不使用它们的中间组件,只是为了到达一些实际上关心该数据的叶子组件。

当您发现自己处于这种情况时,您 可以 (但不必)使用Redux将状态管理逻辑从顶级组件“提取”到称为“
reducers”的单独函数中,并“连接”叶组件直接在乎该状态,而不是通过整个应用传递道具。如果您还没有这个问题,则可能不需要Redux。

最后,请注意,Redux并不是解决此问题的最终解决方案。还有许多其他方法可以在React组件之外管理您的本地状态-
例如,一些不喜欢Redux的人对MobX感到满意。我建议您首先对React状态模型有一个深刻的了解,然后独立评估不同的解决方案,并与它们一起构建小型应用程序,以了解它们的优缺点。

(此答案的灵感来自Pete Hunt的反应方法指南,建议您也阅读该指南。)

2020-07-22