Как я должен обрабатывать хранилище redux, чтобы оно не заполнялось несколько раз?

#reactjs #react-redux

#реагирует на #реагировать-переделывать

Вопрос:

У меня есть компонент, который извлекает исходные данные:

 useEffect(() =gt; {  dispatch(getNewsInitial(page));  }, [page, dispatch]);  

Эти данные заполняются в redux, однако проблема в том, что когда компонент отключается (переходя на другую страницу react, которая не включает полное обновление страницы, только через react-маршрутизатор), и я возвращаюсь к компоненту, запрос API выполняется снова, даже если данные уже существуют в хранилище.

Как люди обычно справляются с этим сценарием? Я знаю , что один из способов-создать новую переменную хранилища с именем isLoaded , но затем я должен начать управлять этой переменной также в редукторах. Если это основной способ сделать это, тогда все в порядке, но я просто хотел убедиться. Кстати, я использую axios и инструментарий redux с срезами.

Спасибо!

Комментарии:

1. Как насчет того, чтобы просто проверить, существует ли состояние уже перед вызовом выборки?

2. @Стив Я тоже думал об этом, однако моя настройка заключается в том, что, как только потребуется дополнительная загрузка данных, у меня есть отдельное действие redux, которое обновит переменную состояния page , которая должна getNewsInitial снова вызвать API с обновленной страницей. Но я также рассматривал это как потенциальное решение.