Skip to content

Sync with reactjs.org @ 2cd4d0cf #252

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Mar 17, 2019
Merged

Sync with reactjs.org @ 2cd4d0cf #252

merged 18 commits into from
Mar 17, 2019

Conversation

reactjs-translation-bot
Copy link
Contributor

@reactjs-translation-bot reactjs-translation-bot commented Mar 13, 2019

This PR was automatically generated.

Merge changes from reactjs.org at 2cd4d0c

The following files have conflicts and may need new translations:

Please fix the conflicts by pushing new commits to this pull request, either by editing the files directly on GitHub or by checking out this branch.

DO NOT SQUASH MERGE THIS PULL REQUEST!

Doing so will "erase" the commits from master and cause them to show up as conflicts the next time we merge.

tesseralis and others added 4 commits March 11, 2019 12:48
* Brazilian Portuguese is complete!
* Update status of Hebrew, Polish, German
* Russian is complete!
* Move some other languages up
* Add more info to FAQ about deps

* Update content/docs/hooks-faq.md

Co-Authored-By: gaearon <[email protected]>

* Update content/docs/hooks-faq.md

Co-Authored-By: gaearon <[email protected]>

* Update content/docs/hooks-faq.md

Co-Authored-By: gaearon <[email protected]>

* Update content/docs/hooks-faq.md

Co-Authored-By: gaearon <[email protected]>

* Update content/docs/hooks-effect.md

Co-Authored-By: gaearon <[email protected]>

* tweaks

* tweak
@netlify
Copy link

netlify bot commented Mar 13, 2019

Deploy preview for ru-reactjs ready!

Built with commit 8e9a4a1

https://deploy-preview-252--ru-reactjs.netlify.com

@another-guy another-guy self-assigned this Mar 13, 2019
@another-guy
Copy link
Collaborator

another-guy commented Mar 13, 2019

Тут приличный sync по размеру. Я переведу в течение часов 12 и дам отмашку на ревью.

@another-guy another-guy requested a review from gcor March 15, 2019 05:05
@another-guy another-guy removed their assignment Mar 15, 2019
@another-guy
Copy link
Collaborator

another-guy commented Mar 15, 2019

@gcor, @ntishkevich, @Heegiiny, @avevlad, sync готов.
Прошу особое внимание уделить частям, где переведён новый материал -- я работал ночью и утомление могло сказаться на качестве результата. 😞

@another-guy another-guy added the needs review A pull request ready to be reviewed label Mar 15, 2019
Copy link
Collaborator

@ntishkevich ntishkevich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Отличная работа! 👍 💪
Просмотрел перевод, нашёл несколько мест, по которым оставил предложения.
Нам ведь ещё нужно заменять " на «ёлочки» ? Если нет, то мои предложенные изменения с «ёлочками» можно игнорировать

@@ -364,6 +374,45 @@ function Counter() {

Также смотрите [рекомендованный паттерн для производного состояния](#how-do-i-implement-getderivedstatefromprops).

### Почему я вижу устаревшие пропсы или состояние в моей функции? {#why-am-i-seeing-stale-props-or-state-inside-my-function}

Любая функция внутри компонента, включая эффекты и обработчики событий, "видит" пропсы и состояние из функции `render()`, в которой она была создана. Рассмотрим такой код:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Любая функция внутри компонента, включая эффекты и обработчики событий, "видит" пропсы и состояние из функции `render()`, в которой она была создана. Рассмотрим такой код:
Любая функция внутри компонента, включая эффекты и обработчики событий, «видит» пропсы и состояние из функции `render()`, в которой она была создана. Рассмотрим такой код:

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я бы этот кусочек текста как то переписал, т.к. функции render() там нету. В оригинале там:

Any function inside a component, including event handlers and effects, “sees” the props and state from the render it was created in. For example, consider code like this:

Но как лучше написать я не знаю :)

Может так:

Любая функция внутри компонента, включая эффекты и обработчики событий, "видит" пропсы и состояние из функции, в которой она была создана. Рассмотрим такой код:

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@avevlad да, в оригинале нет ссылки на функцию по её "символьному" имени, но имеется в виду именно она. Поэтому я в русском варианте перевёл именно так, чтобы было очевидно.
Иначе мне следует сказать "функция-рендерер", что звучит хуже. Сказать просто "из функции", не указав, какой именно, значит утратить важную информацию.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@another-guy в общем ты прав, но когда я прочитал то первое о чем подумал это о ES6 class, не хочу чтобы это обсуждение было блоком для мерджа. Можно будет потом в issue обсудить.

@avevlad
Copy link
Contributor

avevlad commented Mar 16, 2019

@ntishkevich «ёлочки» у нас вроде автоматом ставятся, в исходном тексте обычно использую ", подробнее #219

>Если вы хотите использовать эту оптимизацию, обратите внимание на то, чтобы массив включал в себя **все значения из внешней области видимости, которые могут изменяться с течением времени, и которые будут использоваться эффектом**. В противном случае, ваш код будет ссылаться на устаревшее значение из предыдущих рендеров. Мы рассмотрим другие возможные оптимизации на странице [справочник API хуков](/docs/hooks-reference.html).
>Если вы хотите использовать эту оптимизацию, обратите внимание на то, чтобы массив включал в себя **все значения из области видимости компонента (такие как пропсы и состояние), которые могут изменяться с течением времени, и которые будут использоваться эффектом**. В противном случае, ваш код будет ссылаться на устаревшее значение из предыдущих рендеров. Отдельные страницы документации рассказывают о том, [как поступить с функциями](/docs/hooks-faq.html#is-it-safe-to-omit-functions-from-the-list-of-dependencies) и [что делать с часто изменяющимися массивами](/docs/hooks-faq.html#what-can-i-do-if-my-effect-dependencies-change-too-often).
>
>Если вы хотите выполнять эффект и сбрасывать его однократно (при монтировании и размонтировании), вы можете передать пустой массив (`[]`) вторым аргументом. React посчитает, что ваш эффект не зависит от *каких-либо* значений из пропсов или состояния и поэтому не будет выполнять повторных рендеров. Это не расценивается как особый случай -- он напрямую следует из логики работы входных массивов.
Copy link
Contributor

@avevlad avevlad Mar 16, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
>Если вы хотите выполнять эффект и сбрасывать его однократно (при монтировании и размонтировании), вы можете передать пустой массив (`[]`) вторым аргументом. React посчитает, что ваш эффект не зависит от *каких-либо* значений из пропсов или состояния и поэтому не будет выполнять повторных рендеров. Это не расценивается как особый случай -- он напрямую следует из логики работы входных массивов.
>Если вы хотите запустить эффект и сбросить его только один раз (при монтировании и размонтировании), вы можете передать пустой массив (`[]`) вторым аргументом. React посчитает, что ваш эффект не зависит от *каких-либо* значений из пропсов или состояния и поэтому не будет выполнять повторных рендеров. Это не обрабатывается как особый случай -- он напрямую следует из логики работы входных массивов.

еще:

Это не обрабатывается как особый случай -- он напрямую следует из логики работы входных массивов.

Вообще сложно понять что за "логика работы входных массивов"
Но лучше перевести я не могу :) Может просто уберем это предложение?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@avevlad я приму к сведению второй комментарий и попробую исправить его в #269, если это ok

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@another-guy да, это ок!

@another-guy
Copy link
Collaborator

Конфликты мерджа с master разрешены в 608c6a8 и 8e9a4a1.

@gcor, @ntishkevich, @Heegiiny, @avevlad, взгляните, пожалуйста и если что-то не так, я исправлю в следующем PR. Спасибо!

@another-guy another-guy merged commit 7eca548 into master Mar 17, 2019
@lex111 lex111 deleted the sync-2cd4d0cf branch April 5, 2019 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs review A pull request ready to be reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants