DarthJS
@DarthJS

Как в React перерендерить компонент (popup), который вызывается функцией?

С React пока на вы :)
Суть: есть приложение без Redux, обновление данных по WS
есть popup который создается в функции и получается пропс.
как-то так:

class RootComponent extends Component {
openPopup =() => {
<Popup list={this.props.list} />
}

render () {

 return () {
  // bla bla
  // bla bla
  <SomeComponent onClick={() => {this.openPopup}}
 }
}
}


В попапе выводится список данных и при колике на эелемент отправляется запрос.
WS присылает новые данные RootComponent перерисовуется, НО Popup нет. Я так понимаю, из-за того что вызвали его функцией и он не перерендеривается.
Как быть, подскажите?
  • Вопрос задан
  • 2124 просмотра
Решения вопроса 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Один из вариантов:
Вам нужно отрисовать компонент Popup внутри вашего родителя, и у Попапа сделать атрибут isVisible, который менять в state родителя.
Таким образом, когда придут новые данные вы можете просто setState вызвать и показать попап.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@davidnum95
Ужас какой то. Что по вашему должна делать эта функция?
openPopup =() => {
<Popup list={this.props.list} />
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы