Задать вопрос
@DeniSidorenko

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

Добрый день, видел из хороших практик что к примеру запрос для вывода продуктов делают через Redux. Таким образом храня в Store значения и при нужде используя. Подскажите пожалуйста, дабы я для себя понял, почему стоит делать именно через Redux и хранить в Store нежели делать запрос кода когда требуется?
  • Вопрос задан
  • 197 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Не очень понял. Запрос делается, когда требуется)

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

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

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

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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽