Запретить вызов API, если данные присутствуют в хранилище - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть 2 маршрута /dashboard и /battery, на /dashboard Я вызываю мой API на componentWillMount(), затем, как только я получаю ответ с использованием приставки, я делаю componentWillReceiveProps(), чтобы обновить свое состояние и его работоспособность,но если я перехожу к / battery с использованием response-router-dom и затем хочу вернуться к / dashboard, как я могу предотвратить вызовы API, потому что данные уже присутствуют в redux-store.

// To go to the /battery I do
history.push('/main/battery')

// To go to the /dashboard I do
history.push('/main/dashboard')

// Dashboard Component (/main/dashboard)
componentWillMount() {
  this._callAPI()
}
componentWillReceiveProps(nextProps) {
  // update state
}

1 Ответ

1 голос
/ 04 апреля 2019

Возможное решение, внутри вашего создателя действия, вы можете получить текущее состояние притока, используя getState().Просто проверьте перед тем вызовом API, что ваше хранилище резервов пусто или не установлено.

Вот пример создателя действия, который выполняет эту проверку:

requestList: () => {
        return (dispatch, getState) => {
            if (getState().list === null) {
                /* API CALL HERE*/
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...