Что такое аргументы контекста и средства обновления в библиотеке 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()
соответственно.