Redux VS上下文API

时间:2020-09-24 12:23:03

标签: reactjs redux

我对Context API非常熟悉,我完成了Redux的速成课程,并且它们在我看来都差不多(原则上)。问题是,我应该关注哪一个? Context API和Redux之间的主要优缺点是什么?最好在React State管理中。

3 个答案:

答案 0 :(得分:1)

Redux提供了Context API不能保证的开箱即用的优化功能,并且只要出现错误就可以依靠DEV工具来开发DEV工具。

我建议使用Context API。最好使用本机API而不是库。

答案 1 :(得分:1)

Context和Redux是非常不同的工具,可以解决不同的问题,但有些重叠。

上下文不是“状态管理”工具。这是一种依赖注入机制,其唯一目的是使单个值可被React组件的嵌套树访问。由您决定该值是什么,以及如何创建它。通常,这是使用React组件状态(即useState和useReducer)中的数据完成的。因此,您实际上是在自己完成所有的“状态管理”-上下文只是为您提供了一种将其传递给树的方法。

Redux是一个库和一种模式,用于将您的状态更新逻辑与应用程序的其余部分分开,并使其易于跟踪何时/何处/为什么/如何更改状态。它还使您的整个应用程序能够访问任何组件中的任何状态。

是的,您可以同时使用它们来传递数据,但是它们不是同一回事。

有关更多详细信息,请参阅我的帖子:

答案 2 :(得分:0)

我认为这取决于您应用程序的复杂性,否则在大多数情况下,可以将Context,useState和uesReducer组合使用。