Что такое аргументы контекста и обновления в библиотеке React?

Я пытался понять Реакт через React library, но не мог понять, что такое context и updater, что передается компоненту.

Ниже был код в библиотеке.

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

Context

Цель context заключается в том, чтобы позволить devs передавать props непосредственно на components, а не через props of children/parents (который может стать очень сложным/беспорядочным).

В некоторых случаях вы хотите передавать данные через дерево компонентов без необходимости передавать реквизиты вручную на каждом уровне. Вы можете сделать это прямо в React с помощью мощного "контекстного" API.


Updater

updater является object, содержащим methods для обновления DOM.

Это видно в строках 61 и 79.

// Line 61: Enqueue setState.
this.updater.enqueueSetState(this, partialState, callback, 'setState') 

// Line 79: Force Update.
this.updater.enqueueForceUpdate(this, callback, 'forceUpdate') 

Эти methods запускаются с использованием setState() и forceUpdate() соответственно.