реагировать на избыточное соединение во вложенных компонентах - PullRequest
0 голосов
/ 27 июня 2019

Невозможно получить несколько вложенных компонентов с помощью redux-connect при рендеринге

Я создал раскрывающиеся компоненты с резервным соединением для повторного использования в моем приложении.

Компоненты созданы CategoryDropDown, SubCategoryDropDown, CategoryTypeDropDown

Я вкладываю CategoryDropDown компонент в SubCategoryDropDown -Работа правильно

При вложении SubCategoryDropDown в компонент CategoryTypeDropDown запускается только метод CategoryDropDown connect().

// Это метод соединения, который используется во всех компонентах //

export default connect(
    mapStateToProps,
    dispatch => bindActionCreators(actionCreators, dispatch)
)(SubCategoryDropDown);

Правильно ли я использую компонент и redux-connect при работе с вложенными компонентами?

Могу ли я обновить дочерний компонент из другого родительского компонента? Я знаю, что вы можете обновить родителя от ребенка с помощью реквизита, но не знаю, как это сделать наоборот.

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Вы можете определенно обновить магазин, от которого зависит ребенок, с помощью приставки. Трудно точно понять, в чем ваша проблема, без какого-либо кода.

0 голосов
/ 27 июня 2019

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

export default connect(
    mapStateToProps,
    mapDispatchToProps 
)(SubCategoryDropDown);

теперь у меня есть импортированные действия, сопоставленные с реквизитами,

import { addTodo, deleteTodo} from './actionCreators'

const mapDispatchToProps = {
  addTodo,
  deleteTodo
}

вещи, присутствующие в state, такие как todos, теперь используются как props, внутри только компонента (SubCategoryDropDown),

const mapStateToProps = state => ({ todos: state.todos })

как вы вкладываете CategoryDropDown, Вы можете передать данные ребенку, как это,

<CategoryDropDown todos=this.props.todos />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...