Выбор ответа Senior Состояние и данные обновлено
Оптимистичное обновление
Вопрос
Что обязательно в оптимистичном обновлении «лайка» через useMutation?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: onMutate: отменить запросы, сохранить старое, обновить кеш; onError: откатить. Оптимистичное обновление показывает результат сразу.
Варианты ответа
- Дождаться ответа сервера и только потом обновить кеш, так надёжнее
- Обновить кеш и больше ничего не делать: сервер в таких запросах всегда отвечает успешно
onMutate: отменить запросы, сохранить старое, обновить кеш;onError: откатитьправильный ответ- Сделать полную перезагрузку экрана после ответа сервера, чтобы данные сошлись
Разбор
Оптимистичное обновление показывает результат сразу. Без отмены текущих запросов старый ответ может перезаписать новое значение. Без сохранения предыдущего значения нечем откатиться при ошибке. Без инвалидации после ответа клиент может разойтись с сервером. Ожидание ответа это обычное, не оптимистичное обновление, а перезагрузка экрана ломает опыт.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.