Skip to content

Commit 5073323

Browse files
authored
Update strict-mode.md
1 parent 7981aeb commit 5073323

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

content/docs/strict-mode.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ permalink: docs/strict-mode.html
2626

2727
### Обнаружение небезопасных методов жизненного цикла {#identifying-unsafe-lifecycles}
2828

29-
[В этой статье](/blog/2018/03/27/update-on-async-rendering.html) рассматриваются причины, почему некоторые методы жизненного цикла небезопасно использовать в асинхронных React-приложениях. Если в приложении подключены сторонние библиотеки, то отследить использование таких методов довольно тяжело. К счастью, строгий режим помогает сделать это!
29+
[В этой статье](/blog/2018/03/27/update-on-async-rendering.html) рассматриваются причины, почему некоторые методы жизненного цикла небезопасно использовать в асинхронных React-приложениях. Если в приложении подключены сторонние библиотеки, то отследить использование таких методов довольно тяжело. К счастью, тут может помочь строгий режим!
3030

31-
Когда включён строгий режим, React составляет список всех классовых компонентов, которые используют небезопасные методы жизненного цикла, и отображает информацию о них таким образом:
31+
Когда строгий режим включён, React составляет список всех классовых компонентов, которые используют небезопасные методы жизненного цикла, и отображает информацию о них таким образом:
3232

3333
![](../images/blog/strict-mode-unsafe-lifecycles-warning.png)
3434

@@ -38,7 +38,7 @@ permalink: docs/strict-mode.html
3838

3939
Ранее React предоставлял два способа управления рефами: устаревшие строковые рефы и колбэк API. Хотя строковые рефы и были более удобным способом, они имели [несколько недостатков](https://github.com/facebook/react/issues/1373). Поэтому мы рекомендовали [использовать колбэки вместо них](/docs/refs-and-the-dom.html#legacy-api-string-refs).
4040

41-
В React 16.3 добавлен ​​третий способ, который предлагает удобство строковых рефов без каких-либо недостатков:
41+
В React 16.3 добавлен ​​третий способ, который предлагает удобство строковых рефов и лишён каких-либо недостатков:
4242
`embed:16-3-release-blog-post/create-ref-example.js`
4343

4444
Поскольку объекты-рефы стали заменой строковых реф, строгий режим теперь предупреждает об использовании строковых реф.
@@ -57,7 +57,7 @@ permalink: docs/strict-mode.html
5757

5858
`findDOMNode` может использоваться для классовых компонентов, однако это нарушает уровни абстракции, позволяя родительскому компоненту требовать, чтобы происходил рендер определённого дочернего элемента. Это приводит к проблемам при рефакторинге, когда не удаётся изменить детали реализации компонента, так как родитель может использовать DOM-узел этого компонента. `findDOMNode` возвращает только первый дочерний элемент, но с использованием фрагментов компонент может рендерить несколько DOM-узлов. `findDOMNode` выполняет поиск только один раз. Затем метод возвращает ранее полученный результат при вызове. Если дочерний компонент рендерит другой узел, то это изменение никак не отследить. Поэтому `findDOMNode` работает, только когда компоненты возвращают единственный и неизменяемый DOM-узел.
5959

60-
Вместо этого, можно передать реф в компонент и передать его далее в DOM используя [перенаправление реф](/docs/forwarding-refs.html#forwarding-refs-to-dom-components).
60+
Вместо этого, можно передать реф в компонент и передать его далее в DOM используя [перенаправление рефов](/docs/forwarding-refs.html#forwarding-refs-to-dom-components).
6161

6262
Также можно добавить компоненту DOM-узел как обёртку и прикрепить реф непосредственно к этой обёртке.
6363

@@ -75,13 +75,13 @@ class MyComponent extends React.Component {
7575

7676
> Примечание:
7777
>
78-
> CSS-выражение [`display: contents`](https://developer.mozilla.org/ru/docs/Web/CSS/display#display_contents) может применяться для исключения узла из раскладки (layout).
78+
> CSS-выражение [`display: contents`](https://developer.mozilla.org/ru/docs/Web/CSS/display#display_contents) может применяться для исключения узла из макета (layout).
7979
80-
### Обраружение неожиданных побочных эффектов {#detecting-unexpected-side-effects}
80+
### Обнаружение неожиданных побочных эффектов {#detecting-unexpected-side-effects}
8181

8282
React работает в два этапа:
8383
* **Этап рендеринга (render phase)** определяет, какие изменения необходимо произвести, например, в DOM. В течение этого этапа React вызывает `render`, а затем сравнивает полученный результат с результатом предыдущего рендера.
84-
* **Этап фиксации (commit phase)** – в нём React применяет любые изменения. (В случае React DOM – это этап, когда React вставляет, обновляет и удаляет DOM-узлы.) В течение этого этапа React вызывает методы жизненного цикла `componentDidMount` и `componentDidUpdate`.
84+
* **Этап фиксации (commit phase)** – в нём React применяет любые изменения. В случае React DOM – это этап, когда React вставляет, обновляет и удаляет DOM-узлы. В течение этого этапа React вызывает методы жизненного цикла `componentDidMount` и `componentDidUpdate`.
8585

8686
Этап фиксации обычно не занимает много времени, что нельзя сказать про этап рендеринга. По этой причине, готовящийся асинхронный режим (который по умолчанию ещё не включён) делит работу на части, периодически останавливает и возобновляет работу, чтобы избежать блокировки браузера. Это означает, что на этапе рендеринга React может вызвать методы жизненного цикла более чем один раз перед фиксацией, либо вызвать их без фиксации (из-за возникновения ошибки или прерывания с большим приоритетом).
8787

@@ -117,7 +117,7 @@ React работает в два этапа:
117117

118118
### Обнаружение устаревшего API контекста {#detecting-legacy-context-api}
119119

120-
Использование устаревшего API контекста приводило к постоянным ошибкам и поэтому он будет удалён в будущей мажорной версии. Он ещё доступен во всех релизах 16.x, но в строгом режиме будет выведено следующее предупреждение:
120+
Использование устаревшего API контекста очень часто приводило к ошибкам и поэтому он будет удалён в будущей мажорной версии. Пока что этот API доступен во всех релизах 16.x, но в строгом режиме будет выведено следующее предупреждение:
121121

122122
![](../images/blog/warn-legacy-context-in-strict-mode.png)
123123

0 commit comments

Comments
 (0)