Skip to content

Commit e89fc38

Browse files
authored
Merge pull request #599 from pavlosambur/fix-genitive-componenta
fix(terminology): заміна "компоненту" на "компонента" в родовому відм…
2 parents 6d3c5cd + d48d27b commit e89fc38

File tree

6 files changed

+10
-10
lines changed

6 files changed

+10
-10
lines changed

src/content/learn/importing-and-exporting-components.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ img { margin: 0 10px 10px 0; height: 90px; }
5656

5757
## Експорт та імпорт компонента {/*exporting-and-importing-a-component*/}
5858

59-
Що, якщо ви захочете змінити стартовий екран у майбутньому і розмістити там список наукових книг? Або розмістити всі профілі десь інде? Розумно було б витягнути компоненти `Gallery` і `Profile` з файлу кореневого компоненту. Це зробить їх більш модульними та дасть можливість повторно використовувати їх в інших файлах. Ви можете перемістити компонент за три кроки:
59+
Що, якщо ви захочете змінити стартовий екран у майбутньому і розмістити там список наукових книг? Або розмістити всі профілі десь інде? Розумно було б витягнути компоненти `Gallery` і `Profile` з файлу кореневого компонента. Це зробить їх більш модульними та дасть можливість повторно використовувати їх в інших файлах. Ви можете перемістити компонент за три кроки:
6060

6161
1. **Створіть** новий JS файл, щоб помістити компоненти в нього.
6262
2. **Експортуйте** ваш функціональний компонент з цього файлу (використовуючи або [дефолтний](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/export#using_the_default_export) або [іменований](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/export#using_named_exports) експорти).
@@ -172,7 +172,7 @@ export function Profile() {
172172
import { Profile } from './Gallery.js';
173173
```
174174

175-
Нарешті, **відрендеріть** компонент `<Profile />` з компоненту `App`:
175+
Нарешті, **відрендеріть** компонент `<Profile />` з компонента `App`:
176176

177177
```js
178178
export default function App() {

src/content/learn/state-a-components-memory.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -528,9 +528,9 @@ button {
528528

529529
Ви могли помітити, що під час виклику функція `useState` не отримує жодної інформації про те, *якої* змінної стану вона стосується. Немає "ідентифікатора", який передається до `useState`, тому як він знає, яку зі змінних стану повернути? Чи покладається він на якусь магію, наприклад, парсинг ваших функцій? Відповідь — ні.
530530

531-
Натомість для забезпечення лаконічного синтаксису хуки **покладаються на сталий порядок викликів під час кожного рендеру того самого компоненту.** На практиці це добре працює, бо якщо ви дотримуєтеся вищевказаного правила ("викликайте хуки лише на верхньому рівні"), хуки завжди будуть викликані у тому самому порядку. Додатково [плагін лінтера](https://www.npmjs.com/package/eslint-plugin-react-hooks) знаходить більшість помилок.
531+
Натомість для забезпечення лаконічного синтаксису хуки **покладаються на сталий порядок викликів під час кожного рендеру того самого компонента.** На практиці це добре працює, бо якщо ви дотримуєтеся вищевказаного правила ("викликайте хуки лише на верхньому рівні"), хуки завжди будуть викликані у тому самому порядку. Додатково [плагін лінтера](https://www.npmjs.com/package/eslint-plugin-react-hooks) знаходить більшість помилок.
532532

533-
Всередині React тримає масив пар станів для кожного компоненту. Він також відповідає за індекс поточної пари, якому задається значення `0` перед рендерингом. Кожного разу, коли ви викликаєте `useState`, React віддає вам наступну пару стану та збільшує індекс. Ви можете дізнатися більше про цей механізм у статті ["Хуки React: не магія, просто масиви".](https://medium.com/@ryardley/react-hooks-not-magic-just-arrays-cd4f1857236e)
533+
Всередині React тримає масив пар станів для кожного компонента. Він також відповідає за індекс поточної пари, якому задається значення `0` перед рендерингом. Кожного разу, коли ви викликаєте `useState`, React віддає вам наступну пару стану та збільшує індекс. Ви можете дізнатися більше про цей механізм у статті ["Хуки React: не магія, просто масиви".](https://medium.com/@ryardley/react-hooks-not-magic-just-arrays-cd4f1857236e)
534534

535535
Цей приклад **не використовує React**, але дає вам уявлення про те, як `useState` працює всередині:
536536

@@ -893,7 +893,7 @@ button {
893893

894894
Ось що відрізняє стан від звичайних змінних, які ви могли б оголосити на початку вашого модуля. Стан не прив'язаний до конкретного виклику функції або місця у коді, але він "локальний" відносно конкретного місця на екрані. Ви рендерили два компоненти `<Gallery />`, тому їхній стан зберігається окремо.
895895

896-
Також зауважте, що компонент `Page` "не знає" нічого ні про стан `Gallery`, ні навіть про його наявність. На відміну від пропсів, **стан доступний (private) лише компоненту, у якому оголошений**. Батьківський компонент не може його змінити. Це дає вам змогу додавати стан до будь-якого компоненту або видаляти його, не впливаючи на решту компонентів.
896+
Також зауважте, що компонент `Page` "не знає" нічого ні про стан `Gallery`, ні навіть про його наявність. На відміну від пропсів, **стан доступний (private) лише компоненту, у якому оголошений**. Батьківський компонент не може його змінити. Це дає вам змогу додавати стан до будь-якого компонента або видаляти його, не впливаючи на решту компонентів.
897897

898898
А що як ви хочете, щоб обидві галереї синхронізували свої стани? Правильний спосіб зробити таке в React — *прибрати* стан з дочірніх компонентів і додати його до їхнього найближчого спільного батьківського компонента. Наступні кілька сторінок зосереджуються на організації стану окремого компонента, але ми повернемося до цієї теми в розділі ["Спільний стан між компонентами".](/learn/sharing-state-between-components)
899899

src/content/learn/typescript.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ export default function App() {
242242

243243
### `useContext` {/*typing-usecontext*/}
244244

245-
[Хук `useContext`](/reference/react/useContext) — це техніка передачі даних деревом компонентів без необхідності передавати пропси через компоненти. Цей хук використовується шляхом створення компоненту-провайдера та хука для отримання значення у дочірньому компоненті.
245+
[Хук `useContext`](/reference/react/useContext) — це техніка передачі даних деревом компонентів без необхідності передавати пропси через компоненти. Цей хук використовується шляхом створення компонента-провайдера та хука для отримання значення у дочірньому компоненті.
246246

247247
Тип значення, яке надається контекстом, виводиться зі значення, переданого до `createContext`:
248248

src/content/learn/writing-markup-with-jsx.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ JSX перетворюється в JavaScript, а атрибути, запис
214214
/>
215215
```
216216

217-
Ви можете [знайти всі ці атрибути в списку властивостей DOM компоненту.](/reference/react-dom/components/common) Якщо ви допустите помилку, не хвилюйтесь - React надрукує повідомлення з можливим виправленням у [консолі браузера.](https://developer.mozilla.org/docs/Tools/Browser_Console)
217+
Ви можете [знайти всі ці атрибути в списку властивостей DOM компонента.](/reference/react-dom/components/common) Якщо ви допустите помилку, не хвилюйтесь - React надрукує повідомлення з можливим виправленням у [консолі браузера.](https://developer.mozilla.org/docs/Tools/Browser_Console)
218218

219219
<Pitfall>
220220

src/content/reference/react-dom/createPortal.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ import { createPortal } from 'react-dom';
6666
6767
### Рендер в іншу частину DOM {/*rendering-to-a-different-part-of-the-dom*/}
6868
69-
*Портали* дозволяють вашим компонентам рендерити деякі їхні дочірні елементи в інші частини DOM. Це дозволяє частині вашого компоненту "втекти" з будь-яких контейнерів, в яких вона перебуває. Приміром, компонент може відображати модальне вікно або спливаючу підказку, що з'являється поза та над основною частиною сторінки.
69+
*Портали* дозволяють вашим компонентам рендерити деякі їхні дочірні елементи в інші частини DOM. Це дозволяє частині вашого компонента "втекти" з будь-яких контейнерів, в яких вона перебуває. Приміром, компонент може відображати модальне вікно або спливаючу підказку, що з'являється поза та над основною частиною сторінки.
7070
7171
Щоб створити портал, відрендеріть результат `createPortal` з <CodeStep step={1}>JSX</CodeStep> і <CodeStep step={2}>DOM-вузлом, куди потрібно помістити JSX</CodeStep>:
7272

src/content/reference/react/forwardRef.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ const MyInput = forwardRef(function MyInput(props, ref) {
7474

7575
* `props`: Пропси передані батьківським компонентом.
7676

77-
* `ref`: Атрибут `ref`, переданий батьківським компонентом. `ref` може бути об'єктом чи функцією. Якщо батьківський компонент не передав реф, то цей параметр буде `null`. Вам потрібно або передати отриманий `ref` до іншого компонента, або передати його в [`useImperativeHandle`.](/reference/react/useImperativeHandle)
77+
* `ref`: Атрибут `ref`, переданий батьківським компонентом. `ref` може бути об'єктом чи функцією. Якщо батьківський компонент не передав реф, то цей параметр буде `null`. Вам потрібно або передати отриманий `ref` до іншого компонента, або передати його в [`useImperativeHandle`.](/reference/react/useImperativeHandle)
7878

7979
#### Результат {/*render-returns*/}
8080

@@ -86,7 +86,7 @@ const MyInput = forwardRef(function MyInput(props, ref) {
8686

8787
### Розкриття DOM-вузла батьківському компоненту {/*exposing-a-dom-node-to-the-parent-component*/}
8888

89-
За замовчуванням, DOM-вузли кожного компонента приватні. Але, іноді потрібно передавати DOM-вузол батьківському компоненту, наприклад, щоб мати можливість сфокусувати його. Щоб зробити це, обгорніть оголошення вашого компонента в `forwardRef()`:
89+
Початково DOM-вузли кожного компонента приватні. Але іноді потрібно передавати DOM-вузол батьківському компоненту, наприклад, щоб мати можливість сфокусувати його. Щоб зробити це, обгорніть оголошення вашого компонента в `forwardRef()`:
9090

9191
```js {3,11}
9292
import { forwardRef } from 'react';

0 commit comments

Comments
 (0)