Показать сообщение отдельно
  #2 (permalink)  
Старый 13.04.2017, 14:50
Новичок на форуме
Отправить личное сообщение для Logger Посмотреть профиль Найти все сообщения от Logger
 
Регистрация: 13.04.2017
Сообщений: 5

Нагуглил немного.
Поскольку вызываемый метод изменяет состояние компонента, можно прибегнуть к
updateData(config) {
  this.setState(config);
}

и
render() {
  return (<div update={this.updateData.bind(this)}></div>)
}

Первое прописываем в нашем основном компоненте, а последнее, как я понял, нужно прописывать в вызываемом компоненте.
Остается только вопрос что передавать в updateData. Пробую передать нужное свойство
onLeftIconButtonTouchTap={this.updateData({open: true})}

Валит ошибками
setState(...): Cannot update during an existing state transition (such as within `render` or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to `componentWillMount`.

На SO вроде есть решение последней проблемы, буду пробовать, но интересно, что событие
onLeftIconButtonTouchTap
отрабатывает без клика/тапа огромное количество раз пока не вывалится
Maximum call stack size exceeded
Ответить с цитированием