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
Copy file name to clipboardExpand all lines: src/content/reference/react/useTransition.md
+28-28Lines changed: 28 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -132,9 +132,9 @@ function TabContainer() {
132
132
133
133
#### Обновление текущей вкладки в переходе {/*updating-the-current-tab-in-a-transition*/}
134
134
135
-
В этом примере вкладка "Posts"**искусственно замедлена**, чтобы ей требовалось не менее одной секунды для рендеринга.
135
+
В этом примере вкладка «Публикации»**искусственно замедлена**, чтобы ей требовалось не менее одной секунды для рендеринга.
136
136
137
-
Нажмите на "Posts", а затем сразу нажмите на "Contact". Обратите внимание, что это прерывает медленный рендеринг "Posts". Вкладка "Contact" отображается сразу. Поскольку это обновление состояния помечено как переход, медленный повторный рендеринг не блокирует пользовательский интерфейс.
137
+
Нажмите на «Публикации», а затем сразу нажмите на «Контакты». Обратите внимание, что это прерывает медленный рендеринг «Публикации». Вкладка «Контакты» отображается сразу. Поскольку это обновление состояния помечено как переход, медленный повторный рендеринг не блокирует пользовательский интерфейс.
138
138
139
139
<Sandpack>
140
140
@@ -161,19 +161,19 @@ export default function TabContainer() {
#### Обновление текущей вкладки без перехода {/*updating-the-current-tab-without-a-transition*/}
273
273
274
-
В этом примере вкладка "Posts" также **искусственно замедлена**, так что для её рендера требуется не менее секунды. В отличие от предыдущего примера, это обновление состояния **не является переходом**.
274
+
В этом примере вкладка «Публикации» также **искусственно замедлена**, так что для её рендера требуется не менее секунды. В отличие от предыдущего примера, это обновление состояния **не является переходом**.
275
275
276
-
Нажмите на "Posts", а затем сразу нажмите на "Contact". Обратите внимание, что приложение зависает при рендере замедленной вкладки, а UI перестаёт отвечать на запросы. Это обновление состояния не является переходом, поэтому медленный повторный рендер заморозил пользовательский интерфейс.
276
+
Нажмите на «Публикации», а затем сразу нажмите на «Контакты». Обратите внимание, что приложение зависает при рендере замедленной вкладки, а UI перестаёт отвечать на запросы. Это обновление состояния не является переходом, поэтому медленный повторный рендер заморозил пользовательский интерфейс.
277
277
278
278
<Sandpack>
279
279
@@ -297,19 +297,19 @@ export default function TabContainer() {
### Updating the parent component in a transition {/*updating-the-parent-component-in-a-transition*/}
412
+
### Обновление родительского компонента при переходе {/*updating-the-parent-component-in-a-transition*/}
413
413
414
414
Вы также можете обновить состояние родительского компонента с помощью вызова `useTransition`. Например, этот компонент `TabButton` заключает свою логику `onClick` в переход:
Поскольку родительский компонент обновляет своё состояние внутри обработчика события `onClick`, это обновление состояния помечается как переход. Вот поэтому, как и в предыдущем примере, вы можете нажать на "Posts", а затем сразу же нажать на "Contact". Обновление выбранной вкладки помечается как переход, поэтому взаимодействия пользователя не блокируются.
434
+
Поскольку родительский компонент обновляет своё состояние внутри обработчика события `onClick`, это обновление состояния помечается как переход. Вот поэтому, как и в предыдущем примере, вы можете нажать на «Публикации», а затем сразу же нажать на «Контакты». Обновление выбранной вкладки помечается как переход, поэтому взаимодействия пользователя не блокируются.
435
435
436
436
<Sandpack>
437
437
@@ -450,19 +450,19 @@ export default function TabContainer() {
В этом примере компонент `PostsTab` получает некоторые данные, используя источник данных поддерживающий [Задержку](/reference/react/Suspense). Когда вы нажимаете на вкладку "Posts", компонент `PostsTab` *задерживается*, что приводит к появлению ближайшего запасного варианта загрузки:
712
+
В этом примере компонент `PostsTab` получает некоторые данные, используя источник данных поддерживающий [Задержку](/reference/react/Suspense). Когда вы нажимаете на вкладку «Публикации», компонент `PostsTab` *задерживается*, что приводит к появлению ближайшего запасного варианта загрузки:
713
713
714
714
<Sandpack>
715
715
@@ -728,19 +728,19 @@ export default function TabContainer() {
Скрытие всего контейнера вкладок для отображения индикатора загрузки приводит к неприятному пользовательскому опыту. Если вы добавите `useTransition` в `TabButton`, вы можете вместо этого указать состояние ожидания в кнопке вкладки.
897
897
898
-
Обратите внимание, что нажатие на "Posts" больше не заменяет весь контейнер вкладок на спиннер:
898
+
Обратите внимание, что нажатие на «Публикации» больше не заменяет весь контейнер вкладок на спиннер:
899
899
900
900
<Sandpack>
901
901
@@ -914,19 +914,19 @@ export default function TabContainer() {
Переходы будут «ждать» достаточно долго, чтобы не скрыть *уже показанный* контент (например, контейнер вкладок). Если бы во вкладке "Posts" присутствовала [вложенная граница `<Suspense>`](/reference/react/Suspense#revealing-nested-content-as-it-loads), переход бы её не «ждал».
1094
+
Переходы будут «ждать» достаточно долго, чтобы не скрыть *уже показанный* контент (например, контейнер вкладок). Если бы во вкладке «Публикации» присутствовала [вложенная граница `<Suspense>`](/reference/react/Suspense#revealing-nested-content-as-it-loads), переход бы её не «ждал».
0 commit comments