Как правильно получать данные с сервера в SPA (React + Redux)?
Здравствуйте!
Есть одностраничное приложение на React + Redux + React router. Возник вопрос, как правильно организовать общение с сервером.
Опишу кейс:
Пользователь открывает страницу с приложением, выполняется запрос к API и запрашиваются необходимые данные для страницы, затем пользователь совершает переход на другую страницу, где выполняется еще один запрос к API и загружаются данные уже для второй страницы, а затем пользователь возвращается на одну страницу назад, где ранее мы уже загрузили данные с сервера, что делать в этом случае? Выполняем ли мы повторный запрос к API или можем взять ранее загруженные данные из Redux Store?
Хотелось бы понять , как правильно организовать логику запросов, верно ли использовать Redux Store вместо получения данных с сервера? Возможно стоит кэшировать ответы сервера, использовать ServiceWorker или есть какие-то альтернативные решения.
Буду благодарен за любую информацию по этому вопросу.
hzzzzl, в этом и вопрос, конечно данные могут меняться, именно поэтому я и спрашиваю какая практика сложилась при разработке, как решается проблема избыточных запросов ИТП. Если у вас есть опыт, буду благодарен, если поделитесь.
Вам должно быть виднее. Если это данные которые могли измениться, то очевидно, что лучше подтянуть свежие. Если что-то, что меняется редко, то можно проверить наличие в хранилище.
Еще можно использовать socket соединение и реализовать на сервере логику, чтобы он сам посылал на клиент обновления по мере их появления.
Если там справочники, то они кэшируются. А сервис воркер, это если чел без интернета зашел и ему все показалось, хотя конкретно в данном случае смысла в нем ноль, эти аяксы можно также хранить в бд, но смысла в этом тоже ноль, поскольку они и так обычно есть в памяти.