Ответы пользователя по тегу React
  • Правильно ли делать запросы в action-creators?

    @matios
    Technical Team Lead
    Можно и нужно, затем их можно отсюда импортнуть в любой компонент и переиспользовать.
    Ответ написан
    Комментировать
  • Почему не меняется значение в дочерней компоненте с первого раза?

    @matios
    Technical Team Lead
    При срабатывании onClick данные в редаксе меняются через this.props.methods.check(), но поскольку пропсы и стейт еще не обновились, то компонент еще не перерисовался. Потому внутри onClick console.log(this.props.logValue); выводит не то, что вы ожидаете. А внутри loginUser() вы видите обновленное значение, потому что наверняка в экшене дергаете метод getState() который возвращает текущий стейт редакса.
    Вот собственно и все
    Ответ написан
  • Как заменять компонент при изменении окна?

    @matios
    Technical Team Lead
    Все просто. Добавить стейт в SelectNavigation и хранить там флаг нужного вида:
    state: {
      view: 'pc'; //pc | tablet | 'mobile'
    }


    Далее при ресайзе нужно обновлять этот флаг в стейте в зависимости от ширины экрана.
    А в рендер функции выводить getNavigationTablet, getNavigationMobile или getNavigationPC в зависимости от this.state.view.

    Для того чтобы компонент перерисовался, вам нужно, чтобы у него обновился prop или state. В данном случае, если при ресайзе вы будите обновлять стейт, то компонент будет перерисовываться при изменении стейта.

    PS. По скольку у вас функциональный компонент, то можно использовать хук "useState".
    PS2. У вас ошибка в граничных условиях. Не правильное условие при width = 700. В вашем случае будет PC? а должно быть tablet или mobile.
    Ответ написан