@DeniSidorenko

Зачем хранить результат запроса в Store?

Добрый день, видел из хороших практик что к примеру запрос для вывода продуктов делают через Redux. Таким образом храня в Store значения и при нужде используя. Подскажите пожалуйста, дабы я для себя понял, почему стоит делать именно через Redux и хранить в Store нежели делать запрос кода когда требуется?
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
Krasnodar_etc
@Krasnodar_etc
avito front
Не очень понял. Запрос делается, когда требуется)

Представим случай:
У вас в одном компоненте есть список продуктов, который вы загружаете запросом к беку, А в другом компоненте есть надпись "найдено 1234 продуктов". Они на одной странице, но находятся далеко друг от друга, поэтому это разные компоненты

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

React без редакса: найти/сделать какой-то родительский компонент, который будет "над" вашими двумя. В нём делать запрос, результат запроса прокидывать в нужные компоненты через пропсы. Есть очевидный минус: бывает, что между родительским компонентом и нужным компонентом есть ещё компонентов 5-6. Придётся прокидывать пропсы через каждый. Это захламляет проект. А если вам вдруг ещё в какой-то третий компонент нужно будет эти же данные прокинуть -- придётся переделывать

React + redux (или любой другой стейт менеджер, не обязательно redux):
В любом компоненте вызываете action, который делает запрос и сохраняет результат в store. Если какому-то компоненту нужны эти данные -- он делает connect к стору, берёт оттуда нужные данные и всё.

То есть общая рекомендация: данные нужно хранить в сторе, когда они могут использоваться разными компонентами
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы