You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`useOptimistic` --это хук React, который позволяет показать другое состояние пока выполняется какое-то асинхронное действие. Он принимает состояние, которое может отличаться во время выполнения асинхронного действия, например таким действием может быть сетевой запрос. Вы передаёте функцию, которая принимает текущее состояние и входные параметры для какого-то действия, и возвращает оптимистичное состояние, которое используется пока действие находится режиме ожидания.
30
+
`useOptimistic` --это хук React, который позволяет показать другое состояние, пока выполняется какое-то асинхронное действие. Он принимает состояние, которое может отличаться во время выполнения асинхронного действия, например таким действием может быть сетевой запрос. Вы передаёте функцию, которая принимает текущее состояние и входные параметры для какого-то действия, и возвращает оптимистичное состояние, которое используется пока действие находится в режиме ожидания.
31
31
32
32
Такое состояние называется "оптимистичным" состоянием, потому что обычно используется для того, чтобы показать результат выполнения действия как можно быстрее, даже если для завершения обычно требуется время.
33
33
@@ -57,17 +57,17 @@ function AppContainer() {
57
57
#### Возвращаемое значение {/*returns*/}
58
58
59
59
*`optimisticState`: Результат оптимистичного состояния. Оно равно `state` до тех пор, пока действие не находится в состоянии ожидания, иначе будет равно значению, возвращённому из `updateFn`.
60
-
*`addOptimistic`: `addOptimistic` --это функция-диспетчер, которая вызывается при оптимистичном обновлении. Она принимает только один аргумент `optimisticValue` любого типа и вызовет `updateFn` с параметрами `state` and `optimisticValue`.
60
+
*`addOptimistic`: `addOptimistic` --это функция-диспетчер, которая вызывается при оптимистичном обновлении. Она принимает только один аргумент `optimisticValue` любого типа и вызовет `updateFn` с параметрами `state` and `optimisticValue`.
61
61
62
62
---
63
63
64
64
## Использование {/*usage*/}
65
65
66
66
### Оптимистичное обновление форм {/*optimistically-updating-with-forms*/}
67
67
68
-
Хук `useOptimistic` предоставляет возможность для оптимистичного обновление пользовательского интерфейса перед завершением работы в фоновом режиме, например, сетевого запроса. В контексте форм, эта техника помогает сделать приложение более отзывчивым. Когда пользователь отправляет форму, вместо ожидания ответа от сервера для того, чтобы показать обновление, интерфейс обновится сразу же с учётом ожидаемого результата.
68
+
Хук `useOptimistic` предоставляет возможность для оптимистичного обновления пользовательского интерфейса перед завершением работы в фоновом режиме, например, сетевого запроса. В контексте форм, эта техника помогает сделать приложение более отзывчивым. Когда пользователь отправляет форму, приложение не ждёт ответ сервера и сразу обновляет интерфейс с учётом ожидаемого результата.
69
69
70
-
Например, когда пользователь вводит сообщение в форму и нажимает кнопку "Отправить", хук `useOptimistic` позволяет сообщению сразу отобразиться в списке с лейблом "Отправка...", ещё до того как сообщение фактически будет отправлено на сервер. Этот "оптимистичный" подход создаёт ощущение скорости и отзывчивости. Затем данные формы действительно отправляются на сервер в фоновом режиме. Как только приходит подтверждение сервера о том, что сообщение получено, лейбл "Отправка..." удаляется.
70
+
Например, когда пользователь вводит сообщение в форму и нажимает кнопку "Отправить", хук `useOptimistic` позволяет сообщению сразу отобразиться в списке с надписью "Отправка...", ещё до того как сообщение фактически будет отправлено на сервер. Этот "оптимистичный" подход создаёт ощущение скорости и отзывчивости. Затем данные формы действительно отправляются на сервер в фоновом режиме. Как только приходит подтверждение сервера о том, что сообщение получено, надпись "Отправка..." удаляется.
0 commit comments