Skip to content

Commit 4d7cbfd

Browse files
docs: translate createContext.md to Русский
1 parent 33aab23 commit 4d7cbfd

1 file changed

Lines changed: 15 additions & 12 deletions

File tree

src/content/reference/react/createContext.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1+
---
2+
title: createContext
3+
---
14
<Intro>
25

3-
`createContext` позволяет создать [контекст](/learn/passing-data-deeply-with-context), который компоненты могут предоставлять или читать.
6+
`createContext` позволяет создавать [контекст](/learn/passing-data-deeply-with-context), который компоненты могут предоставлять или читать.
47

58
```js
69
const SomeContext = createContext(defaultValue)
@@ -16,7 +19,7 @@ const SomeContext = createContext(defaultValue)
1619

1720
### `createContext(defaultValue)` {/*createcontext*/}
1821

19-
Вызовите `createContext` вне любого компонента, чтобы создать контекст.
22+
Вызовите `createContext` вне любого компонента для создания контекста.
2023

2124
```js
2225
import { createContext } from 'react';
@@ -28,13 +31,13 @@ const ThemeContext = createContext('light');
2831

2932
#### Параметры {/*parameters*/}
3033

31-
* `defaultValue`: Значение, которое вы хотите присвоить контексту, когда в дереве над компонентом, читающим контекст, нет соответствующего поставщика контекста. Если у вас нет значимого значения по умолчанию, укажите `null`. Значение по умолчанию предназначено как запасной вариант. Оно статично и никогда не меняется со временем.
34+
* `defaultValue`: Значение, которое будет иметь контекст, если выше в дереве компонентов, читающих контекст, нет соответствующего провайдера контекста. Если у вас нет значимого значения по умолчанию, укажите `null`. Значение по умолчанию предназначено как «запасной» вариант. Оно статично и никогда не меняется со временем.
3235

3336
#### Возвращает {/*returns*/}
3437

3538
`createContext` возвращает объект контекста.
3639

37-
**Сам объект контекста не содержит никакой информации.** Он представляет собой _идентификатор_, который другие компоненты читают или предоставляют. Обычно вы будете использовать [`SomeContext.Provider`](#provider) в компонентах выше, чтобы указать значение контекста, и вызывать [`useContext(SomeContext)`](/reference/react/useContext) в компонентах ниже, чтобы прочитать его. Объект контекста имеет несколько свойств:
40+
**Сам объект контекста не содержит никакой информации.** Он представляет собой _идентификатор_, который другие компоненты читают или предоставляют. Обычно вы будете использовать [`SomeContext.Provider`](#provider) в компонентах выше для указания значения контекста и вызывать [`useContext(SomeContext)`](/reference/react/useContext) в компонентах ниже для его чтения. Объект контекста имеет несколько свойств:
3841

3942
* `SomeContext.Provider` позволяет предоставлять значение контекста компонентам.
4043
* `SomeContext.Consumer` — это альтернативный и редко используемый способ чтения значения контекста.
@@ -43,7 +46,7 @@ const ThemeContext = createContext('light');
4346

4447
### `SomeContext.Provider` {/*provider*/}
4548

46-
Оберните ваши компоненты в поставщика контекста, чтобы указать значение этого контекста для всех компонентов внутри:
49+
Оберните ваши компоненты в провайдер контекста, чтобы указать значение этого контекста для всех компонентов внутри:
4750

4851
```js
4952
function App() {
@@ -59,7 +62,7 @@ function App() {
5962

6063
#### Пропсы {/*provider-props*/}
6164

62-
* `value`: Значение, которое вы хотите передать всем компонентам, читающим этот контекст внутри этого поставщика, независимо от их глубины. Значение контекста может быть любого типа. Компонент, вызывающий [`useContext(SomeContext)`](/reference/react/useContext) внутри поставщика, получает `value` ближайшего соответствующего поставщика контекста над ним.
65+
* `value`: Значение, которое вы хотите передать всем компонентам, читающим этот контекст внутри этого провайдера, независимо от их глубины. Значение контекста может быть любого типа. Компонент, вызывающий [`useContext(SomeContext)`](/reference/react/useContext) внутри провайдера, получает `value` от ближайшего соответствующего провайдера контекста над ним.
6366

6467
---
6568

@@ -80,7 +83,7 @@ function Button() {
8083
}
8184
```
8285

83-
Хотя этот старый способ всё ещё работает, **новый код следует писать с использованием [`useContext()`](/reference/react/useContext):**
86+
Хотя этот старый способ всё ещё работает, **новый код следует писать с использованием [`useContext()`](/reference/react/useContext) вместо него:**
8487

8588
```js
8689
function Button() {
@@ -146,15 +149,15 @@ function App() {
146149
}
147150
```
148151

149-
Теперь компонент `Page` и любые компоненты внутри него, независимо от их глубины, будут «видеть» переданные значения контекста. Если переданные значения контекста изменятся, React также повторно отрисует компоненты, читающие контекст.
152+
Теперь компонент `Page` и любые компоненты внутри него, независимо от их глубины, будут «видеть» переданные значения контекста. Если переданные значения контекста изменятся, React также перерисует компоненты, читающие контекст.
150153

151154
[Узнайте больше о чтении и предоставлении контекста и посмотрите примеры.](/reference/react/useContext)
152155

153156
---
154157

155158
### Импорт и экспорт контекста из файла {/*importing-and-exporting-context-from-a-file*/}
156159

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), чтобы сделать контекст доступным для других файлов:
158161

159162
```js {4-5}
160163
// Contexts.js
@@ -164,7 +167,7 @@ export const ThemeContext = createContext('light');
164167
export const AuthContext = createContext(null);
165168
```
166169

167-
Компоненты, объявленные в других файлах, затем могут использовать [`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) для чтения или предоставления этого контекста:
168171

169172
```js {2}
170173
// Button.js
@@ -207,6 +210,6 @@ function App() {
207210
const ThemeContext = createContext('light');
208211
```
209212

210-
Это значение никогда не меняется. React использует это значение только в качестве запасного варианта, если не может найти соответствующего поставщика выше.
213+
Это значение никогда не меняется. React использует это значение только в качестве запасного варианта, если не может найти соответствующий провайдер выше.
211214

212-
Чтобы контекст менялся со временем, [добавьте состояние и оберните компоненты в поставщика контекста.](/reference/react/useContext#updating-data-passed-via-context)
215+
Чтобы контекст изменялся со временем, [добавьте состояние и оберните компоненты в провайдер контекста.](/reference/react/useContext#updating-data-passed-via-context)

0 commit comments

Comments
 (0)