Куда сохранять полученные с сервера данные в React для дальнейшего рендера?

Добрый день!

Разрабатываю React-приложение. При работе с сервером возник вопрос, куда сохранять принятые через fetch данные и как его рендерить? На данный момент этим занимается componentDidMount: как только компонент загрузился, шлем запрос на сервер, пока запрос обрабатывается показываем спиннер, когда данные получены, сохраняю результат в state, скрываем спиннер и рендерю данные.
Теперь, когда я добавляю новый элемент, что должен вернуть сервер в ответ и как заново отрендерить данные? Должен ли сервер вернуть последние N записей, в котором будет новый элемент как последний добавленный? Или вернуть только добавленный элемент, но тогда React-должен отрендерить этот элемент в соответствии с сортировкой, удалить лишний не вмещяющийся элемент и обновить пагинацию (если требуется)? При таком подходе, кажется слишком много телодвижении, проще заредиректить на эту же страницу, чтобы компонент снова послал запрос и получил данные. В общем вариантов хватает. Подскажите, как правильно поступить? Какая практика более распространенная? Извиняюсь, если сумбурно. Заранее спасибо
  • Вопрос задан
  • 216 просмотров
Пригласить эксперта
Ответы на вопрос 1
@abberati
frontend-разработчик
Для этого придумано много решений, но все они называются одним термином — стейт-менеджер. Примеры: redux, mobx, effector, reatom. В «настоящих» приложениях компоненты реакта не содержат логики о выполнении запроса и хранении данных, они ничего не знают о бизнес-логике системы. С помощью разного рода коннекторов (у каждого менеджера свои) компоненты подключаются к стору/сторам с данными и занимаются только отображением этих данных.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы