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/Profiler.md
+7-10Lines changed: 7 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,6 @@
1
-
```md
2
1
---
3
2
title: <Profiler>
4
3
---
5
-
6
4
<Intro>
7
5
8
6
`<Profiler>` позволяет программно измерять производительность рендеринга дерева React.
@@ -38,7 +36,7 @@ title: <Profiler>
38
36
39
37
#### Ограничения {/*caveats*/}
40
38
41
-
* Профилирование добавляет некоторую дополнительную нагрузку, поэтому **по умолчанию оно отключено в продакшен-сборке.** Чтобы включить профилирование в продакшен-сборке, вам нужно включить [специальную продакшен-сборку с включенным профилированием.](https://fb.me/react-profiling)
39
+
* Профилирование добавляет некоторую дополнительную нагрузку, поэтому **по умолчанию оно отключено в production-сборке.** Чтобы включить профилирование в production-сборке, вам нужно включить [специальную production-сборку с включенным профилированием.](https://fb.me/react-profiling)
*`id`: Строковое значение пропса `id` дерева `<Profiler>`, которое только что зафиксировалось. Это позволяет вам определить, какая часть дерева была зафиксирована, если вы используете несколько профилировщиков.
55
+
*`id`: Строковое значение `id` пропса дерева `<Profiler>`, которое только что зафиксировалось. Это позволяет вам определить, какая часть дерева была зафиксирована, если вы используете несколько профилировщиков.
58
56
*`phase`: `"mount"`, `"update"` или `"nested-update"`. Это позволяет узнать, было ли дерево смонтировано впервые или перерисовано из-за изменения пропсов, состояния или хуков.
59
57
*`actualDuration`: Количество миллисекунд, потраченное на рендеринг `<Profiler>` и его потомков для текущего обновления. Это показывает, насколько эффективно поддерево использует мемоизацию (например, [`memo`](/reference/react/memo) и [`useMemo`](/reference/react/useMemo)). В идеале это значение должно значительно уменьшиться после первоначального монтирования, поскольку многие потомки будут перерисовываться только в том случае, если их конкретные пропсы изменятся.
60
58
*`baseDuration`: Количество миллисекунд, оценивающее, сколько времени потребуется для повторного рендеринга всего поддерева `<Profiler>` без каких-либо оптимизаций. Оно рассчитывается путем суммирования последних длительностей рендеринга каждого компонента в дереве. Это значение оценивает наихудшую стоимость рендеринга (например, первоначальное монтирование или дерево без мемоизации). Сравните `actualDuration` с ним, чтобы увидеть, работает ли мемоизация.
61
-
*`startTime`: Числовой временной штамп, когда React начал рендеринг текущего обновления.
62
-
*`commitTime`: Числовой временной штамп, когда React зафиксировал текущее обновление. Это значение совместно используется всеми профилировщиками в фиксации, что позволяет группировать их при необходимости.
59
+
*`startTime`: Числовой временной штамп, указывающий, когда React начал рендеринг текущего обновления.
60
+
*`commitTime`: Числовой временной штамп, указывающий, когда React зафиксировал текущее обновление. Это значение является общим для всех профилировщиков в фиксации, что позволяет группировать их при необходимости.
Он требует два пропса: `id` (строка) и `onRender` callback (функция), который React вызывает всякий раз, когда компонент в дереве "фиксирует" обновление.
79
+
Он требует два пропса: `id` (строка) и `onRender` callback (функция), который React вызывает всякий раз, когда компонент внутри дерева "фиксирует" обновление.
82
80
83
81
<Pitfall>
84
82
85
-
Профилирование добавляет некоторую дополнительную нагрузку, поэтому **по умолчанию оно отключено в продакшен-сборке.** Чтобы включить профилирование в продакшен-сборке, вам нужно включить [специальную продакшен-сборку с включенным профилированием.](https://fb.me/react-profiling)
83
+
Профилирование добавляет некоторую дополнительную нагрузку, поэтому **по умолчанию оно отключено в production-сборке.** Чтобы включить профилирование в production-сборке, вам нужно включить [специальную production-сборку с включенным профилированием.](https://fb.me/react-profiling)
Хотя `<Profiler>` является легковесным компонентом, его следует использовать только при необходимости. Каждое его использование добавляет некоторую нагрузку на процессор и память приложения.
0 commit comments