React库中的context和updater参数是什么?

时间:2018-01-05 03:21:59

标签: javascript reactjs react-component

我试图通过React library了解React,但无法理解传递给Component的contextupdater是什么。

以下是库中的代码。

function Component(props, context, updater) {
  this.props = props;
  this.context = context;
  this.refs = emptyObject;
  // We initialize the default updater but the real one gets injected by the
  // renderer.
  this.updater = updater || ReactNoopUpdateQueue;
}

这些事情的目的是什么?

1 个答案:

答案 0 :(得分:14)

Context

context的目的是让开发者将props直接传递给components,而不是通过props / children的{​​{1}} (这可能变得非常复杂/混乱)。

  

在某些情况下,您希望通过组件树传递数据,而不必在每个级别手动传递道具。您可以使用功能强大的“上下文”API直接在React中执行此操作。

更新

parents是一个updater,其中包含object来更新methods

这在行DOM61中很明显。

79

这些// Line 61: Enqueue setState. this.updater.enqueueSetState(this, partialState, callback, 'setState') // Line 79: Force Update. this.updater.enqueueForceUpdate(this, callback, 'forceUpdate') 分别使用setState()forceUpdate()触发。