В чем разница между компонентом и контейнер реагируют на возвращение?
Компонент
является частью API реагировать. Компонент-это класс или функция, которая описывает часть пользовательского интерфейса реагирует.
Container-это неформальный термин для компонента реагируют, что "подключиться" -едь в магазин вместе. Контейнеры получают Redux в состоянии обновления и "отправка" действия, и они, как правило, Дон'т элементы рендеринга дом; они делегируют оказание presentational дочерние компоненты.
Более подробно читайте презентационных против контейнера Дэн Абрамов.
Компонент, который отвечает за получение данных и их отображение называется смарт или контейнера. Данные можно прийти с возвращением любой сетевой вызов или подписки третьими лицами.
Стремно компоненты/презентационных являются те, которые несут ответственность за представление представления на основе полученных реквизит.
Хорошая статья С пример здесь
https://www.cronj.com/blog/difference-container-component-react-js/
Компоненты построить пьяче представления, поэтому она должна оказывать элементов DOM, положить содержимое на экране.
Контейнеры участвовать в подготовке данных, так и должно на "поговорить" с возвращением, потому что нужно будет изменять состояние. Таким образом, вы должны включить подключение (реагируют- "Возвращение"), что делает подключение и функции mapStateToProps и mapDispatchToProps :
.
.
.
import { connect } from "react-redux";
class myContainer extends Component {
}
function mapStateToProps(state) {
// You return what it will show up as props of myContainer
return {
property: this.state.property
};
}
function mapDispatchToProps(dispatch) {
// Whenever property is called, it should be passed to all reducers
return bindActionCreators({ property: property }, dispatch);
}
export default connect(mapStateToProps, mapDispatchToProps)(myContainer);
Они're оба компоненты; контейнеры являются функциональными, поэтому они не оказывают какого-либо HTML самостоятельно, и тогда у вас также есть презентационные компоненты, где вы пишите сами HTML. Назначение контейнера на карте государство и отправки реквизит для представления компонента.
Читайте далее: ссылка
Реагировать, возвращение независимые библиотеки.
Реагировать предоставляет вам платформу для создания HTML-документов. Компоненты таким образом, представляющих ту или иную часть документа. Методы, связанные с компонентом, затем можно манипулировать в очень конкретной части документа.
Redux-это рамки, которые предписывает конкретной философии для хранения и управления данными в средах с JS. Это объект один большой JS с некоторыми определенными методами, в лучшем случае использовать в виде государственного управления веб-приложения.
Так реагируют предусматривает, что все данные должны течь вниз от корня к листьям, это становится утомительным для всех основных реквизит, реквизит в определении компонентов, а затем передает реквизит для определенных реквизит для детей. Это также делает весь государственный приложение уязвимым.
Реагировать обертывание предлагает чистое решение, где он напрямую связывает вас в магазин вместе, просто обернуть компоненты связности вокруг другого реагировать компонент( ваш "контейнер"). Поскольку в вашем исполнении, ваша реализация уже определено, какая часть всего государства приложения требуется. Чтобы "подключиться" берет данные из хранилища и передает его в качестве реквизита для компонентов обертывания себя вокруг.
Рассмотрим такой простой пример:
class Person extends Component {
constructor(props){
this.name = this.props.name;
this.type = this.props.type;
}
render() {
return <p> My name is {this.name}. I am a doctor { this.type } </p>
}
}
const connect = InnerComponent => {
class A extends Component{
render() {
return <InnerComponent {...this.props} type="Doctor"/>
}
}
A.displayName = `Connect(${InnerComponent.displayName})`
return A
}
функция подключиться
передает реквизит "Тип".
Этот способ подключения действует как контейнер для компонента человека.
React имеет два основных компонента: первый умный компонентов(контейнеров) и второй-тупой(компонент представления). Контейнеры очень похожи на компоненты, единственным отличием является то, что контейнеры осведомлены о состоянии приложения. Если часть вашего веб-страница используется только для отображения данных (нема), затем сделать его компонент. Если вам это нужно, чтобы быть умным и осознавать состояние (при изменении данных) в приложении, то сделать это контейнер.
Комплектующие
Компоненты позволяют разделить интерфейс на самостоятельные, многоразовые куски, и думать о каждой части в отдельности. Они иногда называемый "презентационные компоненты" и основной проблемой является как это выглядит
Контейнер
Контейнеры такие же, как компоненты без пользовательского интерфейса и контейнеры интересует как работают вещи.. Он главным образом говорит в магазин Redux для получения и обновления данных
приведены в сравнительной таблице с возвращением док
Подробное объяснение https://redux.js.org/basics/usage-with-react#presentational-and-container-components