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
Copy file name to clipboardExpand all lines: src/content/learn/index.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -299,7 +299,7 @@ function MyButton() {
299
299
300
300
## Обновление экрана {/*updating-the-screen*/}
301
301
302
-
Вам может понадобиться, чтобы ваш компонент "помнил" какую-то информацию и отображал её. Например, вы хотите посчитать, сколько раз была нажата кнопка. Чтобы это сделать, добавьте *состояние* в ваш компонент.
302
+
Вам может понадобиться, чтобы компонент «помнил» какую-то информацию и отображал её. Например, вы хотите посчитать сколько раз была нажата кнопка. Чтобы это сделать, добавьте *состояние* в ваш компонент.
303
303
304
304
Сначала импортируйте [`useState`](/reference/react/useState) из React:
305
305
@@ -382,7 +382,7 @@ button {
382
382
383
383
## Использование хуков {/*using-hooks*/}
384
384
385
-
Функции, которые начинаются с `use`, называются *хуками*. `useState` — это встроенный в React хук. В [справочнике API](/reference/react) приводятся другие встроенные хуки. Также, вы можете писать свои собственные хуки, совмещая уже существующие.
385
+
Функции, которые начинаются с `use`, называются *хуками*. `useState` — это встроенный в React хук. В [справочнике API](/reference/react) приводятся другие встроенные хуки. Также, вы можете писать свои собственные хуки, совмещая их с уже существующими.
386
386
387
387
У хуков больше ограничений, чем у других функций. Хуки могут вызываться только *в начале* ваших компонентов (или других хуков). Если вам нужен `useState` в условии или цикле, выделите новый компонент и используйте его там.
388
388
@@ -408,19 +408,19 @@ button {
408
408
409
409
Однако, вы будете часто сталкиваться с ситуацией, когда вам будет нужно, чтобы компоненты *имели общие данные и всегда обновлялись вместе*.
410
410
411
-
Для того, чтобы оба компонента `MyButton` отображали одно и то же значение `count`, вам нужно выделить состояние из отдельных кнопок "вверх" в ближайший компонент, содержащий эти компоненты.
411
+
Для того, чтобы оба компонента `MyButton` отображали одно и то же значение `count`, вам нужно перенести состояние из отдельных кнопок «выше», в ближайший компонент, содержащий эти компоненты.
412
412
413
413
В этом случае таким компонентом является `MyApp`:
414
414
415
415
<DiagramGroup>
416
416
417
-
<Diagram name="sharing_data_parent" height={385} width={410} alt="Диаграмма, показывающая дерево из трех компонентов, одного родителя под названием MyApp и двух потомков под названием MyButton. MyApp содержит значение счётчика, равное нулю, которое передаётся вниз обоим компонентам MyButton, которые также показывают значение, равное нулю." >
417
+
<Diagram name="sharing_data_parent" height={385} width={410} alt="Диаграмма, показывающая дерево из трех компонентов: одного родителя под названием MyApp и двух потомков под названием MyButton. MyApp содержит значение счётчика равное нулю, которое передаётся вниз обоим компонентам MyButton, которые также показывают нулевое значение." >
418
418
419
419
Сначала состояние `count` компонента `MyApp` равно `0` и передаётся обоим потомкам
420
420
421
421
</Diagram>
422
422
423
-
<Diagram name="sharing_data_parent_clicked" height={385} width={410} alt="Аналогичная предыдущей диаграмма, с выделенным значением первого компонента-потомка MyApp, обозначающая клик и увеличение значение счётчика на один. Направление к обоим компонентам-потомкам MyButton также подсвечено, и значение счётчиков в каждом потомке равно одному, обозначая передачу значения вниз." >
423
+
<Diagram name="sharing_data_parent_clicked" height={385} width={410} alt="Та же диаграмма, но с выделенным значением родительского компонента MyApp, указывающим на клик и увеличение значение счётчика на один. Направление к дочерним MyButton также подсвечено, и значение счётчиков в каждом потомке равно одному, обозначая передачу значения вниз." >
424
424
425
425
При клике `MyApp` обновляет своё состояние `count` на значение `1` и передаёт его вниз обоим потомкам
426
426
@@ -467,17 +467,17 @@ export default function MyApp() {
467
467
468
468
return (
469
469
<div>
470
-
<h1>Совместно обновляющиеся счётчики</h1>
470
+
<h1>Одновременно обновляющиеся счётчики</h1>
471
471
<MyButton count={count} onClick={handleClick} />
472
472
<MyButton count={count} onClick={handleClick} />
473
473
</div>
474
474
);
475
475
}
476
476
```
477
477
478
-
Информация, которую вы передаёте таким образом, называется _пропсами_. Теперь у компонента `MyApp` есть состояние `count` и обработчик событий `handleClick`, *которые он передает в качестве пропсов* каждой кнопке-потомку.
478
+
Информация, которую вы передаёте таким образом, называется _пропсами_. Теперь у компонента `MyApp` есть состояние `count` и обработчик событий `handleClick`, *которые передаются в качестве пропсов* каждой кнопке.
479
479
480
-
Наконец, подправьте компонент `MyButton` так, чтобы он *считывал* пропсы, переданные от своего родителя:
480
+
Наконец, измените компонент `MyButton` так, чтобы он *считывал* пропсы, переданные от своего родителя:
481
481
482
482
```js {1,3}
483
483
functionMyButton({ count, onClick }) {
@@ -532,6 +532,6 @@ button {
532
532
533
533
## Следующие шаги {/*next-steps*/}
534
534
535
-
Теперь вы знаете основы, как писать код для React!
535
+
Теперь вы знаете основы того, как писать код для React!
536
536
537
537
Ознакомьтесь с [введением](/learn/tutorial-tic-tac-toe), в рамках которого вы сможете применить полученные знания и собрать своё первое мини-приложение на React.
0 commit comments