Что такое компонент-контейнер?

«Контейнерные компоненты — это компоненты, поддерживающие Redux» — Интернет

Так что это значит?

Что ж, компонент-контейнер — это компонент, который отвечает за получение данных, и для того, чтобы получить эти данные, компонент должен использовать функции Redux connect и mapStateToProps.

Компонент-контейнер будет получать данные из состояния через mapStateToProps. Затем компонент передаст необходимые части этих данных своим дочерним элементам как props.

Компонент-контейнер также отвечает за диспетчеризацию действий, которые вносят изменения в состояние приложения.

Еще одна фраза, с которой я часто сталкивался, — это различие между «представлениями контроллера» и «представлениями». Эта аналогия действительно имела смысл для меня, исходя из Rails. Если React является технологией уровня представлений, некоторые представления, тем не менее, отвечают за извлечение данных (представления контроллера) и передачу этих данных другим представлениям для отображения (презентационные представления). ).

Что такое презентационный компонент?

Если компонент контейнера — это компонент, который фактически использует Redux для получения данных, презентационный компонент просто получает эти данные из своего родительского контейнера и отображает их.

Итак, вам может быть интересно, если презентационный компонент просто отображает данные, а контейнерный компонент — это тот, который содержит какие-либо функции запуска действия, как взаимодействие пользователя с презентационным компонентом в конечном итоге может инициировать действие?