【问题标题】:What to use as global state manager in React NextJS?在 React NextJS 中使用什么作为全局状态管理器?
【发布时间】:2021-09-29 15:18:17
【问题描述】:

我正在使用 NextJS,想知道什么是最好的全局状态管理器。 ContextAPI 或 Redux - 工具包。在网上找了一个答案,感觉ContextAPI用的比较多。但由于某种原因,我不确定这是否是最好的解决方案。如果 ContextAPI 没有那么多的重新渲染,那将是一个很好的解决方案。

【问题讨论】:

  • 您也可以尝试使用recoiljs.org。它的基于钩子的,性能也不错。
  • 我们无法为您决定。每个都有优点和缺点。这是基于意见的。

标签: reactjs redux next.js redux-toolkit context-api


【解决方案1】:

您可以查看 Redux 或任何其他状态管理器,但无论博客文章试图告诉您什么,Context 都不适合状态管理。

Redux 的替代品是 MobX、Recoil、XState、Valtio 或 Zusand,所有这些都为您提供了不同的思维模型供您使用。

另一方面,上下文不适合状态处理,因为它需要大量的手动优化,即使这样也存在当前 React 无法解决的性能问题。深入了解请查看https://blog.isquaredsoftware.com/2020/05/blogged-answers-a-mostly-complete-guide-to-react-rendering-behavior/#context-and-rendering-behavior

【讨论】:

  • 对于常规的 React,它很简单;当谈到 NextJS(SSR) 时,使用 Redux 变得有点复杂。或许这就是 Redux 在 NextJS 中使用较少的原因。使用 React+Redux-toolkit 很容易找到源代码,但使用 NextJS+Redux-toolkit 更难。这是一个使用 contex 而不使用 Redux github.com/offsecdev/PickBazar 的示例
  • @GregoryKafanov 仍然留下 5 个我在那里添加的库,它们不是上下文的 - 这是 - 重复我自己 - 适合应用程序状态。此外,通常 NextJS 的状态管理挑战只出现在 SSR 场景中,并且每个工具——包括 Redux 和 Context(如果你算上的话)都会在这里面临完全相同的问题。
猜你喜欢
  • 1970-01-01
  • 2021-03-08
  • 2021-12-20
  • 1970-01-01
  • 2022-10-13
  • 2023-04-03
  • 2022-01-16
  • 2021-01-01
  • 1970-01-01
相关资源
最近更新 更多