move-fast-and-break-things/the-list

Иногда отправка и обработка запроса (например, на отметку о присутствии/отсутствии студента) занимает несколько секунд. В это время кажется, что интерфейс завис

Offen

#43 geöffnet am 13.02.2023

 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (0 Forks)auto 404
good first issue

Repository-Metriken

Stars
 (5 Sterne)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

Это можно исправить, добавив какую-нибудь мгновенную реакцию на клик в интерфейс. Можно воспользоваться свойством isLoading мутации, которое мы используем, чтобы выставить кнопке свойство disabled, чтобы избежать дабл-кликов, и выводить какую-нибудь крутилку или менять цвет надписи.

Или даже сделать следующее: т.к. неудачное выполнение запроса — ситуация исключительная и может произойти крайне редко, мы можем мгновенно выводить галочку, не дожидаясь выполнения запроса; и, если запрос завершился неудачно — убирать её и выводить ошибку где-нибудь. В этом случае, приложение будет ощущаться мгновенно работающим.

Галочку можно нарисовать модифицировав кеш react-query для запроса useStudents. С помощью метода queryClient.getQueryData можно получить текущие данные из кеша, а с помощью queryClient.setQueryData можно установить новые.

Contributor Guide