Как обновить значение состояния внутри action?

Я новичок в разработке реакции,

У меня есть переменная состояния, созданная внутри конструктора.

constructor (props) {
    super (props);
    this.state = {
      status: false,
    };

  } 

Я использую redux, и у меня есть метод действия для обновления значений redux.

 export const actionMethod = () => {

    return dispatch => {

      return fetch (

      )
        .then (response => response.json ())
        .then (responseJson => {

        // i want to update value of state here.
     //i tried this.setState ({status: true}); but its getting TypeError: //_this.setState is not a function

        })
        .catch (error => {
          console.error (error);

        });
    };
  };

Позвольте мне, как обновить значение статуса внутри actionMethod.

Ваш «Метод действия» здесь, это действие редукции? Если да, то вам не следует обновлять свое состояние внутри него. Вместо этого вы создаете свое действие, передаете данные полезной нагрузки и используете их внутри редуктора для обновления состояния вашего приложения.

Upasana 11.04.2018 12:04
1
1
80
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Здесь есть несколько ошибок:

  • Действие redux - это функция, объявленная где-то вне компонента React, поэтому у нее нет доступа к вашему состоянию Component или чему-либо еще, что находится за пределами его функции.
  • Вы используете редукторы для обновления глобального состояния редукции, которое может запускать автоматическое повторное отображение компонентов React (при правильном использовании)

Я считаю, что вам сначала нужно лучше понять реакцию, прежде чем пытаться интегрировать redux. Вы можете обновить состояние компонента без редукции. Сначала узнайте, как реагировать и как компоненты реагирования могут быть обновлены и перерисованы с помощью свойств и состояния, а затем посмотрите, может ли ваше приложение получить выгоду от redux.

Другие вопросы по теме