首页 > 解决方案 > 使用命名空间或全局对象作为数据源而不是使用道具或状态是否正确?

问题描述

我已经开始挖掘 reactjs 的栖息地,发现没有像 AngularJS 那样将范围绑定到视图。据我了解,对于重新渲染,您应该主要通过调用更改状态来触发渲染功能setState

如果您有基于数据结构的 DOM 层次结构,则可以使用状态提升来修改组件树上层使用的数据。

我的问题是

  1. 我对上述陈述是否正确?
  2. 从 reactjs 的最佳实践的意义上说,使用一个全局对象(我们称之为资源对象)来保存数据并通过调用组件更改观察者函数来控制重新渲染,如下所示;

这是一个代码笔

标签: reactjs

解决方案


  1. 您可以将 redux 用于可以由许多组件修改的数据类型。您不会像定义全局对象那样做。Redux 是一个非常酷的库,可以解决您面临的问题。您可以将其称为中央/全局状态管理器。如果您需要从全局状态更改/获取某些内容,则调用 redux 函数并获取数据。

推荐阅读