在react-redux应用程序中使用上下文是否有意义?

时间:2019-03-14 09:04:09

标签: reactjs redux

所以,我是React世界的初学者。而且我不明白:在react-redux应用程序中使用context有意义吗?还是使用connect函数会更好?

4 个答案:

答案 0 :(得分:0)

这取决于您要实现的目标。 Redux存储对于您的所有应用程序都是全局的,而上下文仅可从创建它的组件到其子树中的所有组件可用。

答案 1 :(得分:0)

首先弄清楚您对应用程序的需求,如果您想开发一个小型Web应用程序,则可以在不使用Redux和context API的情况下进行开发,如果要使用大型应用程序,则可以考虑使用以下任何一种方法:它们都用于管理应用程序或组件的状态。 Redux是第三方库,上下文API仅由Facebook构建。

答案 2 :(得分:0)

您可以在react-redux应用程序中使用上下文。例如,您可能希望主题与上下文相关。

使用Redux,当数据频繁更改并且必须传递给许多组件(子代/兄弟姐妹)时。例如。多步骤表单。

使用状态,当您经常更改数据并且数据不需要传递给很多组件或不需要深度嵌套的子代时。例如。表单,UI状态。

使用上下文,当需要在深度嵌套的子级中共享数据但数据很少更新时。登录信息,首选语言,主题等。

希望这是有道理的。

答案 3 :(得分:0)

上下文可以在任何类型的react-redux应用程序中使用。

两者都有不同的目的。

Redux 是一种状态管理工具,经常在以下情况之一中使用。

  • 如果我们需要在操作的派发和响应(例如 logging 操作,错误处理,调度)之间使用中间件 其他请求,具体取决于服务器的响应。
  • 如果数据从多个端点到达一个组件。
  • 它可以更好地控制应用程序中的操作。 Redux可以跟踪动作和数据更改,并通过其devtool大大简化了调试。

另一方面,上下文提供了一种通过组件树(在应用程序中全局)传递数据的方法,而无需在翻译,主题或其他任何级别手动传递道具。在整个应用中使用。

根据需求,我们可以选择何时使用redux或上下文来解决不同的目的。