【问题标题】:Why is it bad to store react-navigation state in Redux为什么在 Redux 中存储反应导航状态不好
【发布时间】:2021-07-23 23:24:30
【问题描述】:

react-navigation 的文档有一个特定的部分 Can I store the navigation state in Redux too?

上面写着:

这是不可能的。我们不支持它,因为它太容易让自己陷入困境并减慢/破坏您的应用程序。

我相信 react-navigation 团队和社区已经对此进行了深入研究。在 SO 上出现诸如 this one 之类的问题表明,这 在某些时候得到了支持,但由于某种原因肯定被普遍认为是不好的。

我想知道的是:究竟为什么“在 Redux 中存储导航状态”是一种不好的做法?

答案可以是:

  • 在 Redux 中存储导航状态的特定场景引入了额外的错误/复杂性
  • nav state 与 Redux store 不兼容的理论解释(例如“很难使其不可变”)
  • 来自 GitHub 问题的链接/摘录,这些问题展示了如何准确地决定建议不要在 Redux 中存储导航状态
  • ...任何其他会让读者说“哦,快,我怎么能不考虑这个”:)

我无法通过快速搜索找到一个好的解释,我认为这个问题对于像我这样好奇的人来说是一个很好的参考。我必须承认,我经常发现自己很想为此实施一些解决方法,只是将所有内容存储在一个地方(例如,为了调试目的能够“重放”)。

【问题讨论】:

    标签: react-native redux react-redux react-navigation react-state-management


    【解决方案1】:

    实际上,在上一个“React Contributor Days”上,我(作为上下文,Redux 维护者)提出了这个话题,Michael Jackson(React-Router 维护者)开始捎带这个话题,我记得整个讨论是会很有趣。 当然,所有这些都是相当“意见”的话题,可能不会给你所有的答案,但它可能会让你了解为什么我们不想过多地纠缠不同的状态源。

    我查了一下,这里有一个视频,上面有我们开始讨论的时间戳:https://youtu.be/4uLV8ieQVZk?t=3767

    【讨论】:

      猜你喜欢
      • 2017-02-23
      • 2020-02-02
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 2018-08-07
      • 1970-01-01
      相关资源
      最近更新 更多