Skip to content

Commit 0014bad

Browse files
docs: translate experimental_taintObjectReference.md to Русский
1 parent cde292d commit 0014bad

1 file changed

Lines changed: 14 additions & 15 deletions

File tree

src/content/reference/react/experimental_taintObjectReference.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
```html
21
---
32
title: experimental_taintObjectReference
43
version: experimental
54
---
6-
75
<Experimental>
86

9-
**Этот API является экспериментальным и еще не доступен в стабильной версии React.**
7+
**Этот API является экспериментальным и пока недоступен в стабильной версии React.**
108

119
Вы можете попробовать его, обновив пакеты React до последней экспериментальной версии:
1210

@@ -20,9 +18,10 @@ version: experimental
2018

2119
</Experimental>
2220

21+
2322
<Intro>
2423

25-
`taintObjectReference` позволяет предотвратить передачу конкретного экземпляра объекта в Client Component, например объекта `user`.
24+
`taintObjectReference` позволяет предотвратить передачу конкретного экземпляра объекта, такого как объект `user`, в Client Component.
2625

2726
```js
2827
experimental_taintObjectReference(message, object);
@@ -55,17 +54,17 @@ experimental_taintObjectReference(
5554

5655
#### Параметры {/*parameters*/}
5756

58-
* `message`: Сообщение, которое вы хотите отобразить, если объект будет передан в Client Component. Это сообщение будет отображаться как часть ошибки, которая будет выброшена, если объект будет передан в Client Component.
57+
* `message`: Сообщение, которое вы хотите отобразить, если объект будет передан в Client Component. Это сообщение будет частью ошибки, которая будет выброшена, если объект будет передан в Client Component.
5958

60-
* `object`: Объект, который нужно пометить. Функции и экземпляры классов могут быть переданы в `taintObjectReference` как `object`. Функции и классы уже заблокированы для передачи в Client Components, но стандартное сообщение об ошибке React будет заменено тем, что вы определили в `message`. Когда конкретный экземпляр Typed Array передается в `taintObjectReference` как `object`, любые другие копии этого Typed Array не будут помечены.
59+
* `object`: Объект для пометки. Функции и экземпляры классов могут быть переданы в `taintObjectReference` в качестве `object`. Функции и классы уже заблокированы для передачи в Client Components, но стандартное сообщение об ошибке React будет заменено тем, что вы определили в `message`. Когда конкретный экземпляр Typed Array передается в `taintObjectReference` как `object`, любые другие копии этого Typed Array не будут помечены.
6160

6261
#### Возвращает {/*returns*/}
6362

6463
`experimental_taintObjectReference` возвращает `undefined`.
6564

6665
#### Ограничения {/*caveats*/}
6766

68-
- Воссоздание или клонирование помеченного объекта создает новый непомеченный объект, который может содержать конфиденциальные данные. Например, если у вас есть помеченный объект `user`, `const userInfo = {name: user.name, ssn: user.ssn}` или `{...user}` создадут новые объекты, которые не помечены. `taintObjectReference` защищает только от простых ошибок, когда объект передается в Client Component без изменений.
67+
- Воссоздание или клонирование помеченного объекта создает новый непомеченный объект, который может содержать конфиденциальные данные. Например, если у вас есть помеченный объект `user`, `const userInfo = {name: user.name, ssn: user.ssn}` или `{...user}` создадут новые объекты, которые не помечены. `taintObjectReference` защищает только от простых ошибок при передаче объекта в Client Component без изменений.
6968

7069
<Pitfall>
7170

@@ -79,7 +78,7 @@ experimental_taintObjectReference(
7978

8079
### Предотвращение непреднамеренной передачи пользовательских данных клиенту {/*prevent-user-data-from-unintentionally-reaching-the-client*/}
8180

82-
Client Component никогда не должен принимать объекты, содержащие конфиденциальные данные. В идеале, функции получения данных не должны раскрывать данные, к которым текущий пользователь не должен иметь доступа. Иногда ошибки случаются во время рефакторинга. Чтобы защититься от таких ошибок в будущем, мы можем "пометить" объект пользователя в нашем API данных.
81+
Client Component никогда не должен принимать объекты, содержащие конфиденциальные данные. В идеале, функции получения данных не должны раскрывать данные, к которым у текущего пользователя не должно быть доступа. Иногда при рефакторинге случаются ошибки. Чтобы защититься от таких ошибок в будущем, мы можем "пометить" объект пользователя в нашем API данных.
8382

8483
```js
8584
import {experimental_taintObjectReference} from 'react';
@@ -95,13 +94,13 @@ export async function getUser(id) {
9594
}
9695
```
9796

98-
Теперь, когда кто-либо попытается передать этот объект в Client Component, будет выброшена ошибка с переданным сообщением об ошибке.
97+
Теперь, когда кто-либо попытается передать этот объект в Client Component, будет выброшена ошибка с указанным сообщением.
9998

10099
<DeepDive>
101100

102101
#### Защита от утечек при получении данных {/*protecting-against-leaks-in-data-fetching*/}
103102

104-
Если вы работаете в среде Server Components, имеющей доступ к конфиденциальным данным, вы должны быть осторожны, чтобы не передавать объекты напрямую:
103+
Если вы используете среду Server Components, имеющую доступ к конфиденциальным данным, вы должны быть осторожны и не передавать объекты напрямую:
105104

106105
```js
107106
// api.js
@@ -117,7 +116,7 @@ import { InfoCard } from 'components.js';
117116

118117
export async function Profile(props) {
119118
const user = await getUser(props.userId);
120-
// НЕ ДЕЛАЙТЕ ЭТОГО
119+
// НЕ ДЕЛАЙТЕ ТАК
121120
return <InfoCard user={user} />;
122121
}
123122
```
@@ -131,7 +130,8 @@ export async function InfoCard({ user }) {
131130
}
132131
```
133132

134-
В идеале, `getUser` не должен раскрывать данные, к которым текущий пользователь не должен иметь доступа. Чтобы предотвратить передачу объекта `user` в Client Component в дальнейшем, мы можем "пометить" объект пользователя:
133+
В идеале, `getUser` не должен раскрывать данные, к которым у текущего пользователя не должно быть доступа. Чтобы предотвратить передачу объекта `user` в Client Component далее по цепочке, мы можем "пометить" объект пользователя:
134+
135135

136136
```js
137137
// api.js
@@ -148,7 +148,6 @@ export async function getUser(id) {
148148
}
149149
```
150150

151-
Теперь, если кто-либо попытается передать объект `user` в Client Component, будет выброшена ошибка с переданным сообщением.
151+
Теперь, если кто-либо попытается передать объект `user` в Client Component, будет выброшена ошибка с указанным сообщением.
152152

153-
</DeepDive>
154-
```
153+
</DeepDive>

0 commit comments

Comments
 (0)