Выбрать обновление из бэкэнда или обновить редукс - PullRequest
0 голосов
/ 11 января 2019

Представьте себе приложение React, в котором вы можете перечислить своих друзей на боковой панели. Сайт использует Redux для хранения состояния друзей. Если пользователь добавляет нового друга в свой список, я должен отправить POST на сервер, чтобы сохранить его.

Вопрос в том, как мне обновить список друзей на боковой панели?

После публикации я должен сделать запрос GET и добавить ответ в Redux или просто использовать данные и добавить их непосредственно в Redux, удалив дополнительный вызов GET?

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Мое предложение будет делать оба. Когда вы делаете запрос на сервер, обновите хранилище Redux, которое обновит ваше состояние (список друзей) и перезапустит компонент. Также запустите действие запроса GET, чтобы, если есть данные, которые находятся на сервере, но не в вашем лексеме, их нужно было извлечь. (представьте: использование двух машин одновременно и добавление друзей)

И если вы используете что-то похожее на чистый компонент, если ваше хранилище с избыточностью и извлеченные данные одинаковы, т.е. на сервере не было новых данных, изменения в состоянии не произойдут, и компонент не будет повторно отображаться , Они будут перерисовываться только при наличии разницы в состоянии и отображать текущий список.

0 голосов
/ 11 января 2019

ИМО оба варианта действительны. Однако мне нравится иметь единый источник правды в наших приложениях, который в большинстве случаев является бэкэндом.

Иногда вы можете даже выбрать оба варианта. Это повысит удобство работы пользователя, предотвратив состояние загрузки, но если действие завершится неудачно или данные бэкэнда будут отличаться от вашего хранилища с избыточностью, это может привести к «странному» поведению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...