【发布时间】:2022-01-16 11:45:31
【问题描述】:
说实话,我知道何时使用 Redux 和全局状态,但我已经看到很多代码库都使用 Redux-Saga 或 Thunk 进行几乎所有 api 调用 一切都保存在 store 的全局状态中,所有 api 调用都通过操作或生成器进行
我一直认为 Redux 应该只用于获取全局所需的数据,但到目前为止我看到了一个完全不同的概念,我不知道哪个更好?一个人比另一个人有优势吗?
再次澄清;这不是 Redux Thunk vs Saga 问题以及何时使用什么
这是调用 api 并将数据存储在存储中的时间,而不是仅使用常规函数在 useEffect 钩子中并使用 useState 来呈现来自该 api 的数据的效果 我觉得过度使用全局状态来管理应用程序中的每个状态超出了全局状态的概念,并且可能对性能也不利,但我曾与应用程序合作过,他们使用 Redux 处理所有事情,而不管是否需要它 所以如果我在我的应用程序中安装了 Redux,这是否意味着所有 api 调用都通过中间件进行
我的意思是从设计模式的角度来看
【问题讨论】:
-
不,它没有阅读下面的 cmets
-
redux 中不包含所有内容是完全可以的。
-
因此,如果我在页面中调用一些 api,为应用程序的某些部分向下传递一些道具,而我还有其他部分需要 redux 中的全局状态,这是一个好习惯吗?
-
是的。如果一个状态没有被共享,并且在存储中没有任何好处,那就不要这样做。我们通常从尽可能小的存储开始,然后重构以仅在必要时将数据从组件移动到存储。
标签: reactjs redux react-redux redux-saga redux-thunk