Иногда отправка и обработка запроса (например, на отметку о присутствии/отсутствии студента) занимает несколько секунд. В это время кажется, что интерфейс завис
#43 opened on Feb 13, 2023
Repository metrics
- Stars
- (5 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
Это можно исправить, добавив какую-нибудь мгновенную реакцию на клик в интерфейс. Можно воспользоваться свойством isLoading мутации, которое мы используем, чтобы выставить кнопке свойство disabled, чтобы избежать дабл-кликов, и выводить какую-нибудь крутилку или менять цвет надписи.
Или даже сделать следующее: т.к. неудачное выполнение запроса — ситуация исключительная и может произойти крайне редко, мы можем мгновенно выводить галочку, не дожидаясь выполнения запроса; и, если запрос завершился неудачно — убирать её и выводить ошибку где-нибудь. В этом случае, приложение будет ощущаться мгновенно работающим.
Галочку можно нарисовать модифицировав кеш react-query для запроса useStudents. С помощью метода queryClient.getQueryData можно получить текущие данные из кеша, а с помощью queryClient.setQueryData можно установить новые.