Skip to content

Commit 6964714

Browse files
docs: translate act.md to Русский
1 parent 2fd0867 commit 6964714

1 file changed

Lines changed: 14 additions & 15 deletions

File tree

  • src/content/reference/react

src/content/reference/react/act.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
---
2-
title: act
2+
title: React
33
---
4-
54
<Intro>
65

7-
`act` — это вспомогательная функция для тестирования, которая позволяет применить ожидающие обновления React перед выполнением утверждений.
6+
`act` — это вспомогательная функция для тестирования, которая применяет ожидающие обновления React перед выполнением утверждений.
87

98
```js
109
await act(async actFn)
1110
```
1211

1312
</Intro>
1413

15-
Чтобы подготовить компонент к утверждениям, оберните код, который его рендерит и выполняет обновления, внутри вызова `await act()`. Это позволит вашему тесту работать ближе к тому, как React функционирует в браузере.
14+
Чтобы подготовить компонент к утверждениям, оберните код, который его отображает и выполняет обновления, в вызов `await act()`. Это позволит вашему тесту работать ближе к тому, как React работает в браузере.
1615

1716
<Note>
18-
Вы можете найти использование `act()` напрямую немного многословным. Чтобы избежать некоторого шаблонного кода, вы можете использовать библиотеку, такую как [React Testing Library](https://testing-library.com/docs/react-testing-library/intro), чьи вспомогательные функции обёрнуты в `act()`.
17+
Вы можете найти использование `act()` напрямую немного избыточным. Чтобы избежать некоторого шаблонного кода, вы можете использовать библиотеку, такую как [React Testing Library](https://testing-library.com/docs/react-testing-library/intro), вспомогательные функции которой обёрнуты в `act()`.
1918
</Note>
2019

2120

@@ -42,7 +41,7 @@ it ('renders with button disabled', async () => {
4241

4342
<Note>
4443

45-
Мы рекомендуем использовать `act` с `await` и асинхронной функцией. Хотя синхронная версия работает во многих случаях, она не работает во всех, и из-за того, как React планирует обновления внутренне, трудно предсказать, когда вы можете использовать синхронную версию.
44+
Мы рекомендуем использовать `act` с `await` и `async` функцией. Хотя синхронная версия работает во многих случаях, она не работает во всех, и из-за того, как React планирует обновления внутренне, трудно предсказать, когда вы можете использовать синхронную версию.
4645

4746
В будущем мы объявим синхронную версию устаревшей и удалим её.
4847

@@ -52,7 +51,7 @@ it ('renders with button disabled', async () => {
5251

5352
* `async actFn`: Асинхронная функция, оборачивающая рендеринг или взаимодействия для тестируемых компонентов. Любые обновления, инициированные внутри `actFn`, добавляются во внутреннюю очередь `act`, которая затем обрабатывается вместе для обработки и применения любых изменений к DOM. Поскольку она асинхронна, React также будет выполнять любой код, который пересекает асинхронную границу, и обрабатывать любые запланированные обновления.
5453

55-
#### Возвращаемое значение {/*returns*/}
54+
#### Возвращает {/*returns*/}
5655

5756
`act` ничего не возвращает.
5857

@@ -86,7 +85,7 @@ function Counter() {
8685

8786
### Рендеринг компонентов в тестах {/*rendering-components-in-tests*/}
8887

89-
Чтобы протестировать вывод рендеринга компонента, оберните рендеринг внутри `act()`:
88+
Чтобы протестировать вывод рендеринга компонента, оберните рендеринг в `act()`:
9089

9190
```js {10,12}
9291
import {act} from 'react';
@@ -97,7 +96,7 @@ it('can render and update a counter', async () => {
9796
container = document.createElement('div');
9897
document.body.appendChild(container);
9998

100-
//Рендерим компонент внутри act().
99+
//Оберните рендеринг компонента в act().
101100
await act(() => {
102101
ReactDOMClient.createRoot(container).render(<Counter />);
103102
});
@@ -109,13 +108,13 @@ it('can render and update a counter', async () => {
109108
});
110109
```
111110

112-
Здесь мы создаём контейнер, добавляем его в документ и рендерим компонент `Counter` внутри `act()`. Это гарантирует, что компонент будет отрендерен и его эффекты будут применены перед выполнением утверждений.
111+
Здесь мы создаём контейнер, добавляем его в документ и отображаем компонент `Counter` внутри `act()`. Это гарантирует, что компонент будет отображён и его эффекты будут применены перед выполнением утверждений.
113112

114-
Использование `act` гарантирует, что все обновления будут применены перед выполнением утверждений.
113+
Использование `act` гарантирует, что все обновления были применены перед выполнением утверждений.
115114

116115
### Генерация событий в тестах {/*dispatching-events-in-tests*/}
117116

118-
Чтобы протестировать события, оберните генерацию события внутри `act()`:
117+
Чтобы протестировать события, оберните генерацию события в `act()`:
119118

120119
```js {14,16}
121120
import {act} from 'react';
@@ -130,7 +129,7 @@ it.only('can render and update a counter', async () => {
130129
ReactDOMClient.createRoot(container).render(<Counter />);
131130
});
132131

133-
//Генерируем событие внутри act().
132+
//Генерируйте событие внутри act().
134133
await act(async () => {
135134
button.dispatchEvent(new MouseEvent('click', { bubbles: true }));
136135
});
@@ -142,7 +141,7 @@ it.only('can render and update a counter', async () => {
142141
});
143142
```
144143

145-
Здесь мы рендерим компонент с помощью `act`, а затем генерируем событие внутри другого `act()`. Это гарантирует, что все обновления от события будут применены перед выполнением утверждений.
144+
Здесь мы отображаем компонент с помощью `act`, а затем генерируем событие внутри другого `act()`. Это гарантирует, что все обновления от события будут применены перед выполнением утверждений.
146145

147146
<Pitfall>
148147

@@ -164,7 +163,7 @@ Warning: The current testing environment is not configured to support act(...)
164163

165164
</ConsoleBlock>
166165

167-
Чтобы исправить это, добавьте следующее в ваш файл глобальной настройки для React-тестов:
166+
Чтобы исправить это, добавьте следующую строку в ваш файл глобальной настройки для React-тестов:
168167

169168
```js
170169
global.IS_REACT_ACT_ENVIRONMENT=true

0 commit comments

Comments
 (0)