- редактирование данных на фронте, без задержек с бжка.
Я создаю объект в сторе и жду получения id объекта с бэка. Предположим, что в момент, когда объект создан на фронте, но всё еще отсутствует на бэке (или еще не получили ответ) я решаю его удалить. Для этого мне нужно пометить его как hidden, дождаться id с бэка и отправить запрос на удаление. Мне, получается, нужно подписаться в эффекте на объект и дожидаться появления id? Спасибо!
Проще всего - дождаться id с сервера. Более сложный вариант - генерировать uuid или nanoid на клиенте и работать с ним.
Спасибо за ответ! То есть я создаю подписку в эффекте?
Если речь про ngrx - то да, вроде того. Экшн на создание объекта -> эффект -> запрос к бэку на создание объекта -> ответ от бэка -> экшн на успешное создание объекта -> добавление id в объект в редьюсере. )
мне кажется на фронте не стоит отображать элемент, если он не создан ещё, нет?
моя цель - бесшовное редактирование таблицы на фронте. Я обрабатываю не success, а ошибку, если что-то пошло не так. Если ждать ответа с сервера то получится очень грустно
ну с бэка в любом случае нужно уведомление получать, там же тоже могу создаваться\удаляться элементы. А ждать ответа с сервера долго?
Конечно нужно. Поэтому если я получаю успех, то просто игнорирую, а если получаю ошибку, тогда уже как-то её обрабатываю (но ошибок быть не должно, кроме протухшего токена). Если ждать ответа с сервера, а только потом создавать объект, то совсем грустно получается, это я пробовал
Можно отображать, если есть сценарий отмены. Это называют optimistic update, так обычно всякие лайки в соцсетях работают. Сначала рисуем +1, а потом уже отправляем запрос и ждем ответа. Если что-то пошло не так - откатываемся. )
Это да, лайк и созданная сущность - вещи разные) но зависит от задачи конечно, согласен в целом
Обсуждают сегодня