делаю екшен на измнения моего редюсора, и мой компонент делает рендер, но у меня в рендере отрисовываеться по свойствам которые в this.state, но на момент рендера они не изменились и компонент после рендера отображаеться таким же как и до нажатия кнопки. чтоб изменить мне свойства стейта моего компонента мне нужно вызвать функцию где после определенной логики меняються мои свойства внутри стейта.
я росматриваю для решения етого вопроса в сторону сабскрайба по "стору", и выйдет так что после измненния редюса я вызову мои функции которые сделают свое дело и заного перерисуеться рендер
Все бы хорошо но только где мне в компоненте подписаться на изменения?
в контроллере я не могу потомучто в моем Observere обвертке вокруг сабскрайба, идет вызов где делаеться в итоге сетСтейт, и он выдает варнинг чтоб я не делал сетСТейт в конструкторе, и написать в какой мто методе тоже не вариант, потомучто я могу в етот компонент вообще не заходить и не активировать сабскрайб каким либо действием.
есть какието методы с "коробки" в которых можно делать метод сетСТейт при первой инициализации ?
какие есть еще возможные варианты реализации без сабскрайба?
З.Ы. :
1) сделать логику внутри нажатия кнопки - не выйдет так как это условность для понимания (екшен сделаеться с совсем другого компонента)
2) естественно вызывать ети функции где меняют свойства в стейте в рендере я не могу потомучто будет вечный рендер
в componentWillReceiveProps менять стейт, если нужно?
Обсуждают сегодня