Вступить в клуб →
средняявопросДанные и сеть: REST, TanStack Query, WebSocket

Лайк отобразился сразу, запрос упал, а счётчик так и остался увеличенным

Кнопка «Нравится» использует оптимистичное обновление: в onMutate счётчик в кэше увеличивается на единицу, не дожидаясь ответа сервера. Сервер ответил ошибкой, но пользователь продолжает видеть свой лайк и увеличенный счётчик до перезагрузки страницы.

Что пропущено в реализации?

  • Снимок данных в onMutate и откат к нему в onError
  • Вызов mutate нужно обернуть в try/catch
  • Оптимистичные обновления нельзя делать для счётчиков
  • Нужно было задать retry: 3 для мутации

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела