Иногда отправка и обработка запроса (например, на отметку о присутствии/отсутствии студента) занимает несколько секунд. В это время кажется, что интерфейс завис
#43 aperta il 13 feb 2023
Metriche repository
- Star
- (5 stelle)
- Metriche merge PR
- (Nessuna PR mergiata in 30 g)
Descrizione
Это можно исправить, добавив какую-нибудь мгновенную реакцию на клик в интерфейс. Можно воспользоваться свойством isLoading мутации, которое мы используем, чтобы выставить кнопке свойство disabled, чтобы избежать дабл-кликов, и выводить какую-нибудь крутилку или менять цвет надписи.
Или даже сделать следующее: т.к. неудачное выполнение запроса — ситуация исключительная и может произойти крайне редко, мы можем мгновенно выводить галочку, не дожидаясь выполнения запроса; и, если запрос завершился неудачно — убирать её и выводить ошибку где-нибудь. В этом случае, приложение будет ощущаться мгновенно работающим.
Галочку можно нарисовать модифицировав кеш react-query для запроса useStudents. С помощью метода queryClient.getQueryData можно получить текущие данные из кеша, а с помощью queryClient.setQueryData можно установить новые.