Skip to content

Commit

Permalink
Merge pull request reactjs#471 from reactjs/sync-821e2072
Browse files Browse the repository at this point in the history
Sync with reactjs.org @ 821e207
  • Loading branch information
lex111 authored Feb 29, 2020
2 parents 6ebc63c + 757a39c commit 43ab857
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 5 deletions.
2 changes: 1 addition & 1 deletion content/community/conferences.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ February 27 & 28, 2020 in Sydney, Australia
### ReactConf Japan 2020 {#reactconfjp-2020}
March 21, 2020 in Tokyo, Japan

[Website](https://reactconf.jp/) - [Twitter](https://twitter.com/reactjapanconf)
[Website](https://reactconf.jp/) - [Twitter](https://twitter.com/reactjp)

### Reactathon 2020 {#reactathon-2020}
March 30 - 31, 2020 in San Francisco, CA
Expand Down
2 changes: 1 addition & 1 deletion content/docs/concurrent-mode-patterns.md
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ function ProfileTrivia({ resource }) {

**[Try it on CodeSandbox](https://codesandbox.io/s/focused-mountain-uhkzg)**

If you press "Open Profile" now, you can tell something is wrong. It takes whole seven seconds to make the transition now! This is because our trivia API is too slow. Let's say we can't make the API faster. How can we improve the user experience with this constraint?
If you press "Open Profile" now, you can tell something is wrong. It takes a whole seven seconds to make the transition now! This is because our trivia API is too slow. Let's say we can't make the API faster. How can we improve the user experience with this constraint?

If we don't want to stay in the Pending state for too long, our first instinct might be to set `timeoutMs` in `useTransition` to something smaller, like `3000`. You can try this [here](https://codesandbox.io/s/practical-kowalevski-kpjg4). This lets us escape the prolonged Pending state, but we still don't have anything useful to show!

Expand Down
2 changes: 1 addition & 1 deletion content/docs/reconciliation.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ React будет мутировать каждого потомка, вмест

При использовании ключей перестановки так же могут вызывать проблемы с состоянием компонента. Экземпляры компонента обновляются и повторно используются на основе их ключей. Перемещение элемента изменяет его, если ключ является индексом. В результате состояние компонента для таких вещей, как неуправляемые `<input>`, может смешаться и обновиться неожиданным образом.

[Здесь](codepen://reconciliation/index-used-as-key) на CodePen есть примеры проблем, которые могут быть вызваны использованием индексов в качестве ключей, а [здесь](codepen://reconciliation/no-index-used-as-key) обновлённая версия того же примера, которая показывает как проблемы с перестановкой, сортировкой и вставкой элементов в начало решаются, если не использовать индексы как ключи.
На CodePen [есть примеры проблем, которые могут быть вызваны использованием индексов в качестве ключей](codepen://reconciliation/index-used-as-key), а также есть [обновлённая версия того же примера, которая показывает как решаются проблемы с перестановкой, сортировкой и вставкой элементов в начало, если не использовать индексы как ключи](codepen://reconciliation/no-index-used-as-key).

## Компромиссы {#tradeoffs}

Expand Down
4 changes: 2 additions & 2 deletions content/docs/strict-mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ permalink: docs/strict-mode.html

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

Если избавиться от проблем, выявленных в строгом режиме, _уже сегодня_, то это позволит получить все преимущества асинхронного рендеринга в будущих релизах React.
Если избавиться от проблем, выявленных в строгом режиме, _уже сегодня_, то это позволит получить все преимущества конкурентного рендеринга в будущих релизах React.

### Предупреждение об использовании устаревшего API строковых реф {#warning-about-legacy-string-ref-api-usage}

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

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

Этап рендеринга включает в себя следующие методы жизненного цикла:
* `constructor`
Expand Down

0 comments on commit 43ab857

Please sign in to comment.