如果你正在使用 redux,为什么要使用react.useContext?技术上有何差异?

Yul*_*ale 5 reactjs redux react-context

如果你已经在使用 redux,为什么还要使用react.useContext?我正在努力理解react.useContext相对于redux有什么好处。我有什么遗漏的吗?

我试图更深入地理解react.useContext和redux。因此,请解释为什么一种技术在技术上比另一种更适合某些情况。技术上有何差异?

phr*_*hry 10

Context 和 Redux 做两件不同的事情。

上下文是一种在树中传递单个、很少变化的变量的机制。每当该变量发生更改时,所有使用者都会重新渲染,因此最好用于传递诸如主题或许多组件中使用的 WebSocket 连接之类的内容。它对于依赖注入更有用。

另一方面,Redux 是为了管理保存数据的普通对象(例如,WebSocket 不会进入这里)并有效地订阅该数据中的粒度更改。

因此,您很可能会出于不同的目的并排使用 Context 和状态管理库(还有 MobX、Recoil、XState、Jotai、Zustand 或 Valtio 等替代方案)。有关更多信息,您可以阅读这篇文章