Как обновить значение состояния внутри 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
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
1
80
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

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

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

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

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