Если вы используете шаблон Redux, то это должно быть единственной точкой истины.Это означает, что вы должны получать свои данные из магазина, а не напрямую из API.
как и когда обновлять данные магазина или лучше сказать, когда данные моего магазина аннулированы?Есть два подхода:
- Оптимистичный
- Пессимистичный
Первый подход предполагает, что все будет хорошо с вашим API сервера, и нетНеважно, что вы сохраняете данные в вашем магазине.Представьте, что вы отправляете запрос POST для сохранения продукта в БД через API, а сервер отвечает 500. Бум!В вашем магазине есть призрачный продукт.
Второй подход предполагает, что ничего не получается.В предыдущем примере с продуктом вы ничего не сохраняете в Магазине, если не получите ответ 200 от API.ИЛИ вы можете добавить продукт в магазине на первом месте, и удалить его, если что-то пойдет не так.
1016 * Теперь, в вашем вопросе, есть ли отправить запрос API или нет опять спорно :) НаКогда вы запрашиваете визуализацию компонента Dashboard, вы отправляете
Action LOAD_DASHBOARD_PRODUCTS.Это действие запускает
Effect , который, в свою очередь, отправляет запрос API на сервер для получения данных.Наконец,
Resolver изменяет состояние определенного фрагмента Магазина.Где-то в вашем коде, скорее всего, в методе onInit (), вы запрашиваете данные из хранилища через определенный
Selector .Этот селектор отвечает за запуск действия, о котором я упоминал ранее.
Чтобы ответить на ваш вопрос, это зависит от потока, который вы используете для загрузки данных панели мониторинга.В большинстве случаев я загружаю данные панели мониторинга каждый раз, когда загружаю панель мониторинга.
Однако ваша путаница очень точна.Зачем использовать шаблон Redux, если вам приходится снова и снова отправлять запрос API?Что ж, если сложность вашего проекта такого масштаба (Dashboad - продукты с простой страницей CRUD), тогда шаблон Redux - неправильный выбор.