Skip to content

Commit 5956570

Browse files
committed
Replace "-" with "—"
1 parent dfdb2df commit 5956570

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

content/docs/state-and-lifecycle.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ next: handling-events.html
1010

1111
На этой странице представлена концепция "состояния" (state) и "жизненного цикла" (lifecycle) компонентов React. Подробная [справочнике API компонента доступна по ссылке](/docs/react-component.html) .
1212

13-
В качестве примера рассмотрим бегущие часы из [предыдущего раздела](/docs/rendering-elements.html#updating-the-rendered-element). В разделе [Рендeринг элементов](/docs/rendering-elements.html#rendering-an-element-into-the-dom) мы изучили лишь один способ обновления UI - вызвать `ReactDOM.render()` для изменения результата рендера:
13+
В качестве примера рассмотрим бегущие часы из [предыдущего раздела](/docs/rendering-elements.html#updating-the-rendered-element). В разделе [Рендeринг элементов](/docs/rendering-elements.html#rendering-an-element-into-the-dom) мы изучили лишь один способ обновления UI вызвать `ReactDOM.render()` для изменения результата рендера:
1414

1515
```js{8-11}
1616
function tick() {
@@ -107,7 +107,7 @@ class Clock extends React.Component {
107107
`Clock` теперь определён как класс, а не функция.
108108

109109

110-
Метод `render` будет вызываться каждый раз, когда происходит обновление. Так как мы рендерим `<Clock />` в один и тот же DOM-контейнер, мы используем единственный экземпляр класса `Clock` - поэтому мы можем задействовать внутреннее состояние и хуки жизненного цикла.
110+
Метод `render` будет вызываться каждый раз, когда происходит обновление. Так как мы рендерим `<Clock />` в один и тот же DOM-контейнер, мы используем единственный экземпляр класса `Clock` поэтому мы можем задействовать внутреннее состояние и хуки жизненного цикла.
111111

112112
## Добавление локального состояния в класс {#adding-local-state-to-a-class}
113113

@@ -198,13 +198,13 @@ ReactDOM.render(
198198

199199
[**Посмотреть на CodePen**](http://codepen.io/gaearon/pen/KgQpJd?editors=0010)
200200

201-
Следущий этап - добавить в `Clock` создание собственного таймера с обновлением каждую секунду.
201+
Следущий этап добавить в `Clock` создание собственного таймера с обновлением каждую секунду.
202202

203203
## Добавление методов жизненного цикла в класс {#adding-lifecycle-methods-to-a-class}
204204

205205
В приложениях с множеством компонентов очень важно освобождать используемые системные ресурсы при удалении компонентов.
206206

207-
Мы называем "монтированием" (установкой) первоначальный рендеринг `Clock` в DOM. Наша цель - [создать таймер](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) всякий раз, когда это происходит.
207+
Мы называем "монтированием" (установкой) первоначальный рендеринг `Clock` в DOM. Наша цель [создать таймер](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) всякий раз, когда это происходит.
208208

209209
Каждый раз когда DOM-узел, созданный `Clock`, удаляется, просходит то, что мы называем "размонтирование". Учитывая важность сохранения ресурсов, мы [сбросим таймер](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) при каждой "размонтировке".
210210

@@ -238,7 +238,7 @@ class Clock extends React.Component {
238238

239239
Эти методы называются "хуками (методами) жизненного цикла" (lifecycle methods).
240240

241-
Хук `componentDidMount()` запускается после того, как компонент отрендерился в DOM - это подходящее место для создания таймера:
241+
Хук `componentDidMount()` запускается после того, как компонент отрендерился в DOM это подходящее место для создания таймера:
242242

243243
```js{2-5}
244244
componentDidMount() {
@@ -251,7 +251,7 @@ class Clock extends React.Component {
251251

252252
Обратите внимание, что мы сохраняем ID таймера в `this`.
253253

254-
В классовых компонентах `this.props` создается самим React, так же как и `this.state` - у этих полей особое назначение. Однако, если вам нужно сохранить информацию, которая не является частью процесса обработки данных React, можно вручную добавить дополнительные поля в класс (например, ID таймера).
254+
В классовых компонентах `this.props` создается самим React, так же как и `this.state` у этих полей особое назначение. Однако, если вам нужно сохранить информацию, которая не является частью процесса обработки данных React, можно вручную добавить дополнительные поля в класс (например, ID таймера).
255255

256256
Удалим таймер в хуке жизненного цикла `componentWillUnmount()`:
257257

@@ -261,7 +261,7 @@ class Clock extends React.Component {
261261
}
262262
```
263263

264-
Наконец, реализуем метод `tick()` - он запускается таймером каждую секунду и использует `this.setState()`, который планирует обновление внутреннего состояния компонента:
264+
Наконец, реализуем метод `tick()` он запускается таймером каждую секунду и использует `this.setState()`, который планирует обновление внутреннего состояния компонента:
265265

266266
```js{18-22}
267267
class Clock extends React.Component {
@@ -305,7 +305,7 @@ ReactDOM.render(
305305

306306
[**Посмотреть на CodePen**](http://codepen.io/gaearon/pen/amqdNA?editors=0010)
307307

308-
Результат - часы обновляются каждую секунду.
308+
Результат часы обновляются каждую секунду.
309309

310310
Давайте рассмотрим наше решение и разберем порядок, в котором вызываются методы:
311311

@@ -315,7 +315,7 @@ ReactDOM.render(
315315

316316
3) Как только вывод рендера `Clock` вставлен в DOM, React вызывает хук жизненного цикла `componentDidMount()`. Внутри него компонент `Clock` указывает браузеру создать таймер, который будет вызывать метод компонента `tick()` раз в секунду.
317317

318-
4) Таймер вызывает метод `tick()` ежесекундно. Часть метода - вызов `setState()` с объектом, содержащим текущее время в качестве аргумента - таким образом компонент `Clock` планирует обновление UI. Благодаря вызову `setState()` React знает, что состояние изменилось, и снова вызывает метод `render()`, чтобы узнать, что должно отображаться на экране. На этот раз `this.state.date` в методе `render()` будет другим, и поэтому ренедер компонента будет включать обновлённое время и React соответственно обновит DOM.
318+
4) Таймер вызывает метод `tick()` ежесекундно. Часть метода вызов `setState()` с объектом, содержащим текущее время в качестве аргумента таким образом компонент `Clock` планирует обновление UI. Благодаря вызову `setState()` React знает, что состояние изменилось, и снова вызывает метод `render()`, чтобы узнать, что должно отображаться на экране. На этот раз `this.state.date` в методе `render()` будет другим, и поэтому ренедер компонента будет включать обновлённое время и React соответственно обновит DOM.
319319

320320
5) Если компонент `Clock` когда-либо удаляется из DOM, React вызывает хук жизненного цикла `componentWillUnmount()`, таким образом таймер будет остановлен и удален.
321321

@@ -410,11 +410,11 @@ this.setState(function(state, props) {
410410
}
411411
```
412412

413-
Слияние состояния - поверхностное, поэтому вызов `this.setState({comments})` оставляет `this.state.posts` нетронутым, но полностью заменяет `this.state.comments`.
413+
Слияние состояния поверхностное, поэтому вызов `this.setState({comments})` оставляет `this.state.posts` нетронутым, но полностью заменяет `this.state.comments`.
414414

415415
## Однонаправленный поток данных {#the-data-flows-down}
416416

417-
В иерархии компонентов, ни родительский, ни дочерние компоненты не знают задано (stateful) или нет (stateless) состояние определенного компонента. Так же им не важно, как был создан определенный компонент - с помощью функцим или класса. В связи с этим, состояние часто называют "локальным", "внутренним" или инкапсулированным. Оно недоступно для любого другого компонента, за исключением того, который им владеет и устанавливает его.
417+
В иерархии компонентов, ни родительский, ни дочерние компоненты не знают задано (stateful) или нет (stateless) состояние определенного компонента. Так же им не важно, как был создан определенный компонент с помощью функцим или класса. В связи с этим, состояние часто называют "локальным", "внутренним" или инкапсулированным. Оно недоступно для любого другого компонента, за исключением того, который им владеет и устанавливает его.
418418

419419
Компонент может передать своё состояние вниз по дереву компонентов в виде пропс для его дочерних компонентов:
420420

0 commit comments

Comments
 (0)