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

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

Aperta

#43 aperta il 13 feb 2023

 (0 commenti) (0 reazioni) (0 assegnatari)JavaScript (0 fork)auto 404
good first issue

Metriche repository

Star
 (5 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

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

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

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

Guida contributor