我目前正在学习React,并试图找出如何将其与Redux一起用于构建移动应用程序.我有点困惑这两者是如何联系在一起的.例如,我在React https://www.raywenderlich.com/99473/introducing-react-native-building-apps-javascript中完成了本教程,但现在我想try 在该应用程序中添加一些简化程序/操作,我不确定这些与我已经完成的工作有何关联.
我目前正在学习React,并试图找出如何将其与Redux一起用于构建移动应用程序.我有点困惑这两者是如何联系在一起的.例如,我在React https://www.raywenderlich.com/99473/introducing-react-native-building-apps-javascript中完成了本教程,但现在我想try 在该应用程序中添加一些简化程序/操作,我不确定这些与我已经完成的工作有何关联.
React是一个UI框架,负责更新UI以响应"真相来源",该来源通常被描述为某个组件"拥有"的状态.Thinking in React很好地描述了国家所有制的概念,我强烈建议你仔细研究一下.
当状态是分层的且或多或少与组件 struct 相匹配时,这种状态所有权模型运行良好.通过这种方式,状态在许多组件之间"分散",应用程序也很容易理解.
然而,有时应用程序的远程部分希望访问相同的状态,例如,如果你缓存获取的数据,并希望在同一时间一致地在任何地方更新数据.在这种情况下,如果你遵循React模型,你会在组件树的顶部找到一堆非常大的组件,它们通过一些不使用它们的中间组件传递大量的props ,只为了到达一些真正关心这些数据的叶子组件.
当你发现自己处于这种情况时,你can(但不必)使用Redux将这种状态管理逻辑从顶级组件"提取"到称为"还原器"的单独函数中,并将关心该状态的叶组件直接"连接"到它,而不是通过整个应用程序传递props .如果你还没有这个问题,你可能不需要Redux.
最后,请注意,Redux并不是这个问题的最终解决方案.例如,有许多人对你所在州以外的MobX个组件不满意.我建议您首先对React-state模型有一个明确的了解,然后独立判断不同的解决方案,并与它们一起构建小型应用程序,以了解它们的优缺点.
(这个答案的灵感来自皮特·亨特的react-howto篇指南,我建议你也阅读一下.)