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
*`defaultValue`: Значение, которое вы хотите присвоить контексту, когда в дереве над компонентом, читающим контекст, нет соответствующего поставщика контекста. Если у вас нет значимого значения по умолчанию, укажите `null`. Значение по умолчанию предназначено как запасной вариант. Оно статично и никогда не меняется со временем.
34
+
*`defaultValue`: Значение, которое будет иметь контекст, если выше в дереве компонентов, читающих контекст, нет соответствующего провайдера контекста. Если у вас нет значимого значения по умолчанию, укажите `null`. Значение по умолчанию предназначено как «запасной» вариант. Оно статично и никогда не меняется со временем.
32
35
33
36
#### Возвращает {/*returns*/}
34
37
35
38
`createContext` возвращает объект контекста.
36
39
37
-
**Сам объект контекста не содержит никакой информации.** Он представляет собой _идентификатор_, который другие компоненты читают или предоставляют. Обычно вы будете использовать [`SomeContext.Provider`](#provider) в компонентах выше, чтобы указать значение контекста, и вызывать [`useContext(SomeContext)`](/reference/react/useContext) в компонентах ниже, чтобы прочитать его. Объект контекста имеет несколько свойств:
40
+
**Сам объект контекста не содержит никакой информации.** Он представляет собой _идентификатор_, который другие компоненты читают или предоставляют. Обычно вы будете использовать [`SomeContext.Provider`](#provider) в компонентах выше для указания значения контекста и вызывать [`useContext(SomeContext)`](/reference/react/useContext) в компонентах ниже для его чтения. Объект контекста имеет несколько свойств:
38
41
39
42
*`SomeContext.Provider` позволяет предоставлять значение контекста компонентам.
40
43
*`SomeContext.Consumer` — это альтернативный и редко используемый способ чтения значения контекста.
Оберните ваши компоненты в поставщика контекста, чтобы указать значение этого контекста для всех компонентов внутри:
49
+
Оберните ваши компоненты в провайдер контекста, чтобы указать значение этого контекста для всех компонентов внутри:
47
50
48
51
```js
49
52
functionApp() {
@@ -59,7 +62,7 @@ function App() {
59
62
60
63
#### Пропсы {/*provider-props*/}
61
64
62
-
*`value`: Значение, которое вы хотите передать всем компонентам, читающим этот контекст внутри этого поставщика, независимо от их глубины. Значение контекста может быть любого типа. Компонент, вызывающий [`useContext(SomeContext)`](/reference/react/useContext) внутри поставщика, получает `value` ближайшего соответствующего поставщика контекста над ним.
65
+
*`value`: Значение, которое вы хотите передать всем компонентам, читающим этот контекст внутри этого провайдера, независимо от их глубины. Значение контекста может быть любого типа. Компонент, вызывающий [`useContext(SomeContext)`](/reference/react/useContext) внутри провайдера, получает `value`от ближайшего соответствующего провайдера контекста над ним.
63
66
64
67
---
65
68
@@ -80,7 +83,7 @@ function Button() {
80
83
}
81
84
```
82
85
83
-
Хотя этот старый способ всё ещё работает, **новый код следует писать с использованием [`useContext()`](/reference/react/useContext):**
86
+
Хотя этот старый способ всё ещё работает, **новый код следует писать с использованием [`useContext()`](/reference/react/useContext) вместо него:**
84
87
85
88
```js
86
89
functionButton() {
@@ -146,15 +149,15 @@ function App() {
146
149
}
147
150
```
148
151
149
-
Теперь компонент `Page` и любые компоненты внутри него, независимо от их глубины, будут «видеть» переданные значения контекста. Если переданные значения контекста изменятся, React также повторно отрисует компоненты, читающие контекст.
152
+
Теперь компонент `Page` и любые компоненты внутри него, независимо от их глубины, будут «видеть» переданные значения контекста. Если переданные значения контекста изменятся, React также перерисует компоненты, читающие контекст.
150
153
151
154
[Узнайте больше о чтении и предоставлении контекста и посмотрите примеры.](/reference/react/useContext)
152
155
153
156
---
154
157
155
158
### Импорт и экспорт контекста из файла {/*importing-and-exporting-context-from-a-file*/}
156
159
157
-
Часто компонентам в разных файлах потребуется доступ к одному и тому же контексту. Поэтому принято объявлять контексты в отдельном файле. Затем вы можете использовать [`export` statement](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export), чтобы сделать контекст доступным для других файлов:
160
+
Часто компонентам в разных файлах требуется доступ к одному и тому же контексту. Поэтому принято объявлять контексты в отдельном файле. Затем вы можете использовать оператор [`export`](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export), чтобы сделать контекст доступным для других файлов:
Компоненты, объявленные в других файлах, затем могут использовать [`import`](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/import) для чтения или предоставления этого контекста:
170
+
Компоненты, объявленные в других файлах, затем могут использовать оператор [`import`](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/import) для чтения или предоставления этого контекста:
168
171
169
172
```js {2}
170
173
// Button.js
@@ -207,6 +210,6 @@ function App() {
207
210
constThemeContext=createContext('light');
208
211
```
209
212
210
-
Это значение никогда не меняется. React использует это значение только в качестве запасного варианта, если не может найти соответствующего поставщика выше.
213
+
Это значение никогда не меняется. React использует это значение только в качестве запасного варианта, если не может найти соответствующий провайдер выше.
211
214
212
-
Чтобы контекст менялся со временем, [добавьте состояние и оберните компоненты в поставщика контекста.](/reference/react/useContext#updating-data-passed-via-context)
215
+
Чтобы контекст изменялся со временем, [добавьте состояние и оберните компоненты в провайдер контекста.](/reference/react/useContext#updating-data-passed-via-context)
0 commit comments