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/reference/react/useContext.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
@@ -16,11 +16,11 @@ const value = useContext(SomeContext)
16
16
17
17
---
18
18
19
-
## Довідка {/*reference*/}
19
+
## Опис {/*reference*/}
20
20
21
21
### `useContext(SomeContext)` {/*usecontext*/}
22
22
23
-
Викличте `useContext` на верхньому рівні компонента щоб прочитати та підписатися на [контекст.](/learn/passing-data-deeply-with-context)
23
+
Викличте `useContext` на верхньому рівні компонента, щоб прочитати та підписатися на [контекст.](/learn/passing-data-deeply-with-context)
24
24
25
25
```js
26
26
import { useContext } from'react';
@@ -30,21 +30,21 @@ function MyComponent() {
30
30
// ...
31
31
```
32
32
33
-
[Дивіться інші приклади.](#usage)
33
+
[Перегляньте більше прикладів нижче.](#usage)
34
34
35
35
#### Параметри {/*parameters*/}
36
36
37
-
* `SomeContext`: це об'єкт контексту, який було створено за допомогою функції [`createContext`](/reference/react/createContext). Контекст безпосередньо не містить інформацію, він лише визначає що ви можете передати або отримати з компонентів.
37
+
* `SomeContext`: це об'єкт контексту, який було створено за допомогою функції [`createContext`](/reference/react/createContext). Контекст безпосередньо не містить інформацію, він лише визначає, що ви можете передати або отримати з компонентів.
38
38
39
-
#### Повернення {/*returns*/}
39
+
#### Результат {/*returns*/}
40
40
41
-
Викликаючи `useContext`, ви отримуєте значення (`value`), яке відповідає контексту компонента, що викликає цей хук. Це значення визначається як `value`, передане найближчому `SomeContext.Provider`, розташованому вище в ієрархії компонентів від компонента, що використовує цей контекст. Якщо такого провайдера немає, повертається значення `defaultValue`, яке ви передали функції [`createContext`](/reference/react/createContext). Повернуте значення завжди актуальне. React автоматично повторно рендерить усі компоненти, що використовують контекст, якщо значення контексту змінюється.
41
+
`useContext` повертає значення контексту для компонента, що викликає цей хук. Це значення визначається як `value`, передане найближчому `SomeContext.Provider`, розташованому вище деревом відносно поточного компонента. Якщо такого провайдера немає, повертається значення `defaultValue`, яке ви передали функції [`createContext`](/reference/react/createContext). Повернуте значення завжди актуальне. React автоматично повторно рендерить усі компоненти, що використовують контекст, якщо значення контексту змінюється.
42
42
43
-
#### Особливості {/*caveats*/}
43
+
#### Застереження {/*caveats*/}
44
44
45
-
* Виклик `useContext()`не бачить значення контексту, яке визначається або змінюється у *цьому ж* компоненті. Відповідний `<Context.Provider>` **повинен бути розташований *вище*** компонента, що викликає `useContext()`.
45
+
* Eлементи-провайдери не впливають на виклик `useContext()`у компоненті, з якого й повертаються. Відповідний `<Context.Provider>` **повинен бути розташований *вище*** компонента, що викликає `useContext()`.
46
46
* React **автоматично оновлює** всі дочірні компоненти, які використовують певний контекст, починаючи з провайдера, що отримує змінене значення `value`. Попереднє та наступне значення порівнюються за допомогою [`Object.is`](https://webdoky.org/uk/docs/Web/JavaScript/Reference/Global_Objects/Object/is/). Пропуск повторних рендерів за допомогою [`memo`](/reference/react/memo) не заважає дочірнім компонентам отримувати оновлене значення контексту.
47
-
* Якщо ваша система збірки створює дублікати модулів у вихідному коді (що може статися через симлінки), це може порушити контекст. Передача через контекст працює тільки у випадку, якщо `SomeContext`, що використовується для надання контексту, та `SomeContext`, для його зчитування, є ***точно* тим самим об'єктом**, що визначається порівнянням `===`.
47
+
* Якщо ваша система збірки створює дублікати модулів у вихідному коді (що може статися через символьні посилання), це може порушити контекст. Передавання через контекст працює тільки у разі, якщо `SomeContext`для надання контексту та `SomeContext` для його зчитування є ***точно* тим самим об'єктом**, що визначається порівнянням `===`.
0 commit comments