Skip to content

Commit 2a6ed3e

Browse files
committed
feat: translate, part 2
1 parent b303365 commit 2a6ed3e

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

src/content/learn/sharing-state-between-components.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Спільний доступ до стану між компонента
44

55
<Intro>
66

7-
Інколи ви хочете, щоб стан двох компонентів завжди змінювався разом. Щоб так зробити, видаліть стан з обох компонентів, перенесіть його до їхнього найближчого спільного батька та потім передайте його вниз до них завдяки пропсам. Це відоме як *підняття стану вгору* і це одна з найпоширеніших речей, які ви будете робити під час написання React коду.
7+
Інколи ви хочете, щоб стан двох компонент завжди змінювався разом. Щоб так зробити, видаліть стан з обох компонент, перенесіть його до їхнього найближчого спільного батька та потім передайте його вниз до них завдяки пропсам. Це відоме як *підняття стану вгору* і це одна з найпоширеніших речей, які ви будете робити під час написання React коду.
88

99
</Intro>
1010

@@ -17,13 +17,13 @@ title: Спільний доступ до стану між компонента
1717

1818
## Підняття стану на прикладі {/*lifting-state-up-by-example*/}
1919

20-
В цьому прикладі, батьківський `Accordion` компонента рендерить дві окремі `Panel`і:
20+
В цьому прикладі, батьківський `Accordion` компонент рендерить дві окремі `Panel`і:
2121

2222
* `Accordion`
2323
- `Panel`
2424
- `Panel`
2525

26-
Кожна `Panel` компонента має булевий `isActive` стан, що визначає чи її вміст видимий.
26+
Кожний `Panel` компонент має булевий `isActive` стан, що визначає чи її вміст видимий.
2727

2828
Натисніть кнопку Показати для обох панелей:
2929

@@ -73,33 +73,33 @@ h3, p { margin: 5px 0px; }
7373

7474
</Sandpack>
7575

76-
Notice how pressing one panel's button does not affect the other panel--they are independent.
76+
Зверніть увагу, що натискання кнопки однієї панелі не впливає на іншу панель--вони незалежні.
7777

7878
<DiagramGroup>
7979

80-
<Diagram name="sharing_state_child" height={367} width={477} alt="Diagram showing a tree of three components, one parent labeled Accordion and two children labeled Panel. Both Panel components contain isActive with value false.">
80+
<Diagram name="sharing_state_child" height={367} width={477} alt="Діаграма показує дерево з трьох компонент, один батько з назвою Accordion і два дочірні компоненти з назвами Panel. Обидва компоненти Panel містять isActive зі значенням false.">
8181

82-
Initially, each `Panel`'s `isActive` state is `false`, so they both appear collapsed
82+
Спочатку стан `isActive` кожної `Panel` дорівнює `false`, тому вони обидві виглядають згорнутими
8383

8484
</Diagram>
8585

86-
<Diagram name="sharing_state_child_clicked" height={367} width={480} alt="The same diagram as the previous, with the isActive of the first child Panel component highlighted indicating a click with the isActive value set to true. The second Panel component still contains value false." >
86+
<Diagram name="sharing_state_child_clicked" height={367} width={480} alt="Та сама діаграма, що й попередня, з виділеним isActive першого дочірнього компонента Panel, що вказує на клік зі значенням isActive, встановленим у true. Другий компонент Panel все ще містить значення false." >
8787

88-
Clicking either `Panel`'s button will only update that `Panel`'s `isActive` state alone
88+
Натискання на будь-яку з кнопок `Panel` призведе до оновлення стану `isActive` тільки цієї `Panel`.
8989

9090
</Diagram>
9191

9292
</DiagramGroup>
9393

94-
**But now let's say you want to change it so that only one panel is expanded at any given time.** With that design, expanding the second panel should collapse the first one. How would you do that?
94+
**Але тепер припустимо, що ви хочете змінити це так, щоб тільки одна панель була розгорнути в будь-який момент часу.** При такому дизайні, розгортання другої панелі повинно згорнути першу. Як би ви це зробили?
9595

96-
To coordinate these two panels, you need to "lift their state up" to a parent component in three steps:
96+
Щоб скоординувати ці дві панелі, вам потрібно "підняти їхній стан вгору" до батьківського компонента в три кроки:
9797

98-
1. **Remove** state from the child components.
99-
2. **Pass** hardcoded data from the common parent.
100-
3. **Add** state to the common parent and pass it down together with the event handlers.
98+
1. **Видалити** стан із дочірніх компонент.
99+
2. **Передати** незмінні дані від спільного батька.
100+
3. **Додати** стан до спільного батька і передати його вниз разом з обробниками подій.
101101

102-
This will allow the `Accordion` component to coordinate both `Panel`s and only expand one at a time.
102+
Це дозволить компоненту `Accordion`скоординувати обидві `Panel` і розгортати тільки одну на раз.
103103

104104
### Step 1: Remove state from the child components {/*step-1-remove-state-from-the-child-components*/}
105105

0 commit comments

Comments
 (0)