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

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

Open

#43 opened on Feb 13, 2023

 (0 comments) (0 reactions) (0 assignees)JavaScript (0 forks)auto 404
good first issue

Repository metrics

Stars
 (5 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

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

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

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

Contributor guide