Задать вопрос
BenderIsGreat34
@BenderIsGreat34
junior front-end

Можно ли напрямую добавлять значение в state из redux?

Слетает state при переходе между табами, прикрутить componentDidMount не получается, так как мешается shouldComponentUpdate. Прописал в state значение из редакса, но можно ли так манипулировать стэйтом?
state = {
        data: this.props.counters[COUNTER_TYPE_ELECTRICITY] || null,
        isLoading: false,
        inProgress: false,
        error: null,
        activeItemIndex: 0
        ]
  • Вопрос задан
  • 250 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • beONmax
    Профессия Frontend разработчик
    12 месяцев
    Далее
  • beONmax
    Профессия Веб разработчик
    10 месяцев
    Далее
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
Пригласить эксперта
Ответы на вопрос 2
Если значение уже в пропсах из стора, зачем его в стейт писать?
Ваш код похож на какойто бред. Если устанавливаете стейт в конструкторе, то пишут this.state =
если компонент функциональный то используют useState и установка стейта из пропса бессмыслена
Есть еще getDerivedStateFromProps но там юз кейсов полтора на миллион, в документации есть примечание
This method exists for rare use cases where the state depends on changes in props over time. For example, it might be handy for implementing a component that compares its previous and next children to decide which of them to animate in and out.

Пока что ваш вопрос не имеет ни какого смысла, опишите лучше проблему которую пытаетесь таким образом решить.
Ответ написан
Комментировать
@AlexlMl
Решение Вашей проблемы лежит в другой плоскости.
Попробуйте Вашу задачу решить следующим образом:
Инициализируйте компонент состоянием из store(redux).
Далее изменяйте состояние локально внутри компонента, делая setState и параллельно вызывая action, чтобы записать изменение в store.
Если честно, без контекста, не понятно что Вы делаете :)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽