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

Я пытался понять React через библиотеку React, но не мог понять, что 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 чтобы позволить разработчикам пройти props прямо к components, а не через props из 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() соответственно.

Другие вопросы по тегам