advanced
Optimistic updates
Показывайте ожидаемый успех сразу, планируя откат, разрешение конфликтов и обратную связь пользователю.
Оптимистичные обновления показывают ожидаемый результат до подтверждения сервером, ускоряя воспринимаемый отклик. При сбое откатите кэш и state и сообщите пользователю. Важно разрешение конфликтов при параллельном редактировании — last-write-wins не всегда приемлем.
Библиотеки дают `onMutate`, снимок предыдущих данных и восстановление при ошибке. Отличайте оптимистичные данные, если возможен частичный успех. Не удаляйте оптимистично без возможности отмены.
На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.
Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.
Компромисс часто между ясностью и переиспользованием или между явными props и удобством.
Чеклист:
- Снимок данных до оптимистичной записи.
- Откат при ошибке с сообщением.
- Политика конфликтов для общих записей.