Skip to content

Commit 62fd47e

Browse files
committed
Translated the reference part of useDeferredValue
1 parent 62cd321 commit 62fd47e

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/content/reference/react/useDeferredValue.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: useDeferredValue
44

55
<Intro>
66

7-
`useDeferredValue` is a React Hook that lets you defer updating a part of the UI.
7+
`useDeferredValue` -- хук, с которым можно отложить обновление для части UI.
88

99
```js
1010
const deferredValue = useDeferredValue(value)
@@ -16,11 +16,11 @@ const deferredValue = useDeferredValue(value)
1616

1717
---
1818

19-
## Reference {/*reference*/}
19+
## Справочник {/*reference*/}
2020

2121
### `useDeferredValue(value)` {/*usedeferredvalue*/}
2222

23-
Call `useDeferredValue` at the top level of your component to get a deferred version of that value.
23+
Чтобы сделать обновления значения отложенными, вызовите `useDeferredValue` с этим значением на верхнем уровне своего компонента:
2424

2525
```js
2626
import { useState, useDeferredValue } from 'react';
@@ -32,29 +32,29 @@ function SearchPage() {
3232
}
3333
```
3434

35-
[See more examples below.](#usage)
35+
[См. другие примеры ниже.](#usage)
3636

37-
#### Parameters {/*parameters*/}
37+
#### Параметры {/*parameters*/}
3838

39-
* `value`: The value you want to defer. It can have any type.
39+
* `value`: Значение, обновление которого вы хотите откладывать.
4040

41-
#### Returns {/*returns*/}
41+
#### Возвращаемое значение {/*returns*/}
4242

43-
During the initial render, the returned deferred value will be the same as the value you provided. During updates, React will first attempt a re-render with the old value (so it will return the old value), and then try another re-render in background with the new value (so it will return the updated value).
43+
При первом рендеринге вызов вернёт то же значение, которое вы указали. Когда в следующих обновлениях значение изменится, вызов вернёт прошлое значение, но при этом React запустит дополнительный фоновый рендеринг, в котором вызов вернёт обновлённое значение.
4444

45-
#### Caveats {/*caveats*/}
45+
#### Замечания {/*caveats*/}
4646

47-
- The values you pass to `useDeferredValue` should either be primitive values (like strings and numbers) or objects created outside of rendering. If you create a new object during rendering and immediately pass it to `useDeferredValue`, it will be different on every render, causing unnecessary background re-renders.
47+
- Значения, которые вы передаёте в `useDeferredValue`, должны либо быть примитивного типа (как, например, строки или числа), либо должны создаваться **не** во время рендеринга. Если вы будете во время рендеринга каждый раз передавать в `useDeferredValue` свеже созданный объект, то так вы будете постоянно запускать ненужный фоновый рендеринг.
4848

49-
- When `useDeferredValue` receives a different value (compared with [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)), in addition to the current render (when it still uses the previous value), it schedules a re-render in the background with the new value. The background re-render is interruptible: if there's another update to the `value`, React will restart the background re-render from scratch. For example, if the user is typing into an input faster than a chart receiving its deferred value can re-render, the chart will only re-render after the user stops typing.
49+
- Если `useDeferredValue` получит новое значение (сравнение будет через [`Object.is`](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/is)), то помимо текущего рендеринга (в котором хук вернёт старое значение), дополнительно в фоне запустится рендеринг для собственно нового значения. Но этот фоновый рендеринг может прерваться: если значение параметра `value` изменится ещё раз, то React перезапустит фоновый рендеринг заново. Например, если пользователь будет печатать быстрее, чем зависящий от ввода график будет успевать в фоне рендерить предыдущий ввод, то на экране график обновится, только когда пользователь перестанет печатать.
5050

51-
- `useDeferredValue` is integrated with [`<Suspense>`.](/reference/react/Suspense) If the background update caused by a new value suspends the UI, the user will not see the fallback. They will see the old deferred value until the data loads.
51+
- `useDeferredValue` интегрирован с [`<Suspense>`.](/reference/react/Suspense) Если фоновое обновление для нового значения задержится, то вместо заглушки пользователь просто увидит старое значение, пока загружаются данные для фонового обновления.
5252

53-
- `useDeferredValue` does not by itself prevent extra network requests.
53+
- Сам по себе `useDeferredValue` не защищает от лишних запросов в сеть.
5454

55-
- There is no fixed delay caused by `useDeferredValue` itself. As soon as React finishes the original re-render, React will immediately start working on the background re-render with the new deferred value. Any updates caused by events (like typing) will interrupt the background re-render and get prioritized over it.
55+
- `useDeferredValue` не пытается отложить обновление на какое-то конкретное количество времени. Как только React закончит с текущим рендерингом, он сразу же запустит в фоне рендеринг нового отложенного значения. А любые обновления из-за внешних событий (пользователь печатает, например), будут просто более приоритетными, чем фоновый рендеринг, и прервут его.
5656

57-
- The background re-render caused by `useDeferredValue` does not fire Effects until it's committed to the screen. If the background re-render suspends, its Effects will run after the data loads and the UI updates.
57+
- Эффекты фонового рендеринга, вызванного `useDeferredValue`, сработают, только когда React зафиксирует результат на экране. Если фоновый рендеринг запросит задержку, то эффекты сработают только после того, как данные загрузятся, а экран обновится.
5858

5959
---
6060

0 commit comments

Comments
 (0)