You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Слияние состояния — поверхностное, поэтому вызов `this.setState({comments})` оставляет `this.state.posts` нетронутым, но полностью заменяет `this.state.comments`.
412
+
Состояния объединяются поверхностно, поэтому вызов `this.setState({comments})` оставляет `this.state.posts` нетронутым, но полностью заменяет `this.state.comments`.
413
413
414
414
## Однонаправленный поток данных {#the-data-flows-down}
415
415
416
-
В иерархии компонентов, ни родительский, ни дочерние компоненты не знают задано (stateful) или нет (stateless) состояние определенного компонента. Так же им не важно, как был создан определенный компонент — с помощью функции или класса. В связи с этим, состояние часто называют «локальным», «внутренним» или инкапсулированным. Оно недоступно для любого другого компонента, за исключением того, который им владеет и устанавливает его.
416
+
В иерархии компонентов, ни родительский, ни дочерние компоненты не знают с состоянием (stateful) другие компоненты или без состояния (stateless). Так же не важно, как был создан определенный компонент — с помощью функции или класса. Поэтому, состояние часто называют «локальным», «внутренним» или инкапсулированным. Оно доступно только для самого компонента и скрыто от других.
417
417
418
-
Компонент может передать своё состояние вниз по дереву компонентов в виде пропс для его дочерних компонентов:
418
+
Компонент может передать своё состояние вниз по дереву в виде пропсов дочерних компонентов:
419
419
420
420
```js
421
421
<h2>It is {this.state.date.toLocaleTimeString()}.</h2>
Компонент `FormattedDate` получает `date` через пропс но не знает, является ли первоисточником состояние `Clock`, пропс `Clock` или оно было передано напрямую:
430
+
Компонент `FormattedDate` получает `date` через пропсы но не знает, является ли первоисточником состояние `Clock`, пропс `Clock` или оно было передано напрямую:
431
431
432
432
```js
433
433
functionFormattedDate(props) {
@@ -437,9 +437,9 @@ function FormattedDate(props) {
437
437
438
438
[**Посмотреть на CodePen**](http://codepen.io/gaearon/pen/zKRqNB?editors=0010)
439
439
440
-
Этот процесс называется «сверху вниз» ("top-down") потоком данных или «однонаправленным» ("unidirectional") потоком данных. Состояние всегда принадлежит определённому компоненту, а любые производные этого состояния могут влиять только на компоненты, находящиеся «ниже» в дереве компонентов.
440
+
Этот процесс называется «нисходящим» ("top-down") или «однонаправленным» ("unidirectional") потоком данных. Состояние всегда принадлежит определённому компоненту, а любые производные этого состояния могут влиять только на компоненты, находящиеся «ниже» в дереве компонентов.
441
441
442
-
Если представить иерархию компонентов как водопад пропс, то состояние каждого компонента похоже на дополнительный источник, который сливается с водопадом в произвольной точке, но также течёт вниз.
442
+
Если представить иерархию компонентов как водопад пропсов, то состояние каждого компонента похоже на дополнительный источник, который сливается с водопадом в произвольной точке, но также течёт вниз.
443
443
444
444
Чтобы показать, что все компоненты действительно изолированы, создадим компонент `App`, который рендерит три компонента `<Clock>`:
0 commit comments