#reactjs #react-redux
#реагирует на #реагировать-переделывать
Вопрос:
У меня есть компонент, который извлекает исходные данные:
useEffect(() =gt; { dispatch(getNewsInitial(page)); }, [page, dispatch]);
Эти данные заполняются в redux, однако проблема в том, что когда компонент отключается (переходя на другую страницу react, которая не включает полное обновление страницы, только через react-маршрутизатор), и я возвращаюсь к компоненту, запрос API выполняется снова, даже если данные уже существуют в хранилище.
Как люди обычно справляются с этим сценарием? Я знаю , что один из способов-создать новую переменную хранилища с именем isLoaded
, но затем я должен начать управлять этой переменной также в редукторах. Если это основной способ сделать это, тогда все в порядке, но я просто хотел убедиться. Кстати, я использую axios и инструментарий redux с срезами.
Спасибо!
Комментарии:
1. Как насчет того, чтобы просто проверить, существует ли состояние уже перед вызовом выборки?
2. @Стив Я тоже думал об этом, однако моя настройка заключается в том, что, как только потребуется дополнительная загрузка данных, у меня есть отдельное действие redux, которое обновит переменную состояния
page
, которая должнаgetNewsInitial
снова вызвать API с обновленной страницей. Но я также рассматривал это как потенциальное решение.