Что такое компонент-контейнер?
«Контейнерные компоненты — это компоненты, поддерживающие Redux» — Интернет
Так что это значит?
Что ж, компонент-контейнер — это компонент, который отвечает за получение данных, и для того, чтобы получить эти данные, компонент должен использовать функции Redux connect
и mapStateToProps
.
Компонент-контейнер будет получать данные из состояния через mapStateToProps
. Затем компонент передаст необходимые части этих данных своим дочерним элементам как props
.
Компонент-контейнер также отвечает за диспетчеризацию действий, которые вносят изменения в состояние приложения.
Еще одна фраза, с которой я часто сталкивался, — это различие между «представлениями контроллера» и «представлениями». Эта аналогия действительно имела смысл для меня, исходя из Rails. Если React является технологией уровня представлений, некоторые представления, тем не менее, отвечают за извлечение данных (представления контроллера) и передачу этих данных другим представлениям для отображения (презентационные представления). ).
Что такое презентационный компонент?
Если компонент контейнера — это компонент, который фактически использует Redux для получения данных, презентационный компонент просто получает эти данные из своего родительского контейнера и отображает их.
Итак, вам может быть интересно, если презентационный компонент просто отображает данные, а контейнерный компонент — это тот, который содержит какие-либо функции запуска действия, как взаимодействие пользователя с презентационным компонентом в конечном итоге может инициировать действие?