-
Notifications
You must be signed in to change notification settings - Fork 391
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
Conversation
* 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
Deploy preview for ru-reactjs ready! Built with commit 8e9a4a1 |
Тут приличный sync по размеру. Я переведу в течение часов 12 и дам отмашку на ревью. |
@gcor, @ntishkevich, @Heegiiny, @avevlad, sync готов. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Отличная работа! 👍 💪
Просмотрел перевод, нашёл несколько мест, по которым оставил предложения.
Нам ведь ещё нужно заменять " на «ёлочки» ? Если нет, то мои предложенные изменения с «ёлочками» можно игнорировать
content/docs/hooks-faq.md
Outdated
@@ -364,6 +374,45 @@ function Counter() { | |||
|
|||
Также смотрите [рекомендованный паттерн для производного состояния](#how-do-i-implement-getderivedstatefromprops). | |||
|
|||
### Почему я вижу устаревшие пропсы или состояние в моей функции? {#why-am-i-seeing-stale-props-or-state-inside-my-function} | |||
|
|||
Любая функция внутри компонента, включая эффекты и обработчики событий, "видит" пропсы и состояние из функции `render()`, в которой она была создана. Рассмотрим такой код: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Любая функция внутри компонента, включая эффекты и обработчики событий, "видит" пропсы и состояние из функции `render()`, в которой она была создана. Рассмотрим такой код: | |
Любая функция внутри компонента, включая эффекты и обработчики событий, «видит» пропсы и состояние из функции `render()`, в которой она была создана. Рассмотрим такой код: |
There was a problem hiding this comment.
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:
Но как лучше написать я не знаю :)
Может так:
Любая функция внутри компонента, включая эффекты и обработчики событий, "видит" пропсы и состояние из функции, в которой она была создана. Рассмотрим такой код:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@avevlad да, в оригинале нет ссылки на функцию по её "символьному" имени, но имеется в виду именно она. Поэтому я в русском варианте перевёл именно так, чтобы было очевидно.
Иначе мне следует сказать "функция-рендерер", что звучит хуже. Сказать просто "из функции", не указав, какой именно, значит утратить важную информацию.
There was a problem hiding this comment.
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 обсудить.
@ntishkevich «ёлочки» у нас вроде автоматом ставятся, в исходном тексте обычно использую |
content/docs/hooks-effect.md
Outdated
>Если вы хотите использовать эту оптимизацию, обратите внимание на то, чтобы массив включал в себя **все значения из внешней области видимости, которые могут изменяться с течением времени, и которые будут использоваться эффектом**. В противном случае, ваш код будет ссылаться на устаревшее значение из предыдущих рендеров. Мы рассмотрим другие возможные оптимизации на странице [справочник 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 посчитает, что ваш эффект не зависит от *каких-либо* значений из пропсов или состояния и поэтому не будет выполнять повторных рендеров. Это не расценивается как особый случай -- он напрямую следует из логики работы входных массивов. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
>Если вы хотите выполнять эффект и сбрасывать его однократно (при монтировании и размонтировании), вы можете передать пустой массив (`[]`) вторым аргументом. React посчитает, что ваш эффект не зависит от *каких-либо* значений из пропсов или состояния и поэтому не будет выполнять повторных рендеров. Это не расценивается как особый случай -- он напрямую следует из логики работы входных массивов. | |
>Если вы хотите запустить эффект и сбросить его только один раз (при монтировании и размонтировании), вы можете передать пустой массив (`[]`) вторым аргументом. React посчитает, что ваш эффект не зависит от *каких-либо* значений из пропсов или состояния и поэтому не будет выполнять повторных рендеров. Это не обрабатывается как особый случай -- он напрямую следует из логики работы входных массивов. |
еще:
Это не обрабатывается как особый случай -- он напрямую следует из логики работы входных массивов.
Вообще сложно понять что за "логика работы входных массивов"
Но лучше перевести я не могу :) Может просто уберем это предложение?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@another-guy да, это ок!
Co-Authored-By: another-guy <[email protected]>
Co-Authored-By: another-guy <[email protected]>
Co-Authored-By: another-guy <[email protected]>
Co-Authored-By: another-guy <[email protected]>
Co-Authored-By: another-guy <[email protected]>
Co-Authored-By: another-guy <[email protected]>
Co-Authored-By: another-guy <[email protected]>
Co-Authored-By: another-guy <[email protected]>
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.