Skip to content

Commit 7a44c26

Browse files
authored
Зворотного та одруки
1 parent 47e2085 commit 7a44c26

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

content/docs/refs-and-the-dom.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ redirect_from:
3333

3434
> Примітка:
3535
>
36-
> Приклади нижче були оновлені для використання `React.createRef()` API, що з'явився у React 16.3. Якщо ви використуєте попередню версію React, ми рекомендуємо використовувати [рефи зворотнього виклику](#callback-refs).
36+
> Приклади нижче були оновлені для використання `React.createRef()` API, що з'явився у React 16.3. Якщо ви використуєте попередню версію React, ми рекомендуємо використовувати [рефи зворотного виклику](#callback-refs).
3737
3838
### Створення рефів {#creating-refs}
3939

@@ -201,13 +201,13 @@ function CustomTextInput(props) {
201201

202202
Ми не рекомендуємо підхід передачі DOM-вузлів, але він може стати рятувальним жилетом. Зверніть увагу, що цей підхід потребує написання додаткового коду для дочірніх комопонетів. Якщо у вас взагалі немає котролю над реалізацією дочірніх компонентів, то ваш остання можливість — скористатися методом [`findDOMNode()`](/docs/react-dom.html#finddomnode), але цей метод нерекомендований та вважається застарілим у [`StrictMode`](/docs/strict-mode.html#warning-about-deprecated-finddomnode-usage).
203203

204-
### Рефи зворотнього виклику {#callback-refs}
204+
### Рефи зворотного виклику {#callback-refs}
205205

206-
React також підтримує інший варіант ініціалізації рефів, що називається "рефи зворотнього виклику" ("callback refs"), що дає більший контроль над процесом визначення та очищення рефів.
206+
React також підтримує інший варіант ініціалізації рефів, що називається "рефи зворотного виклику" ("callback refs"), що дає більший контроль над процесом визначення та очищення рефів.
207207

208208
На відміну від передачі рефа, що створений функцією `createRef()`, через атрибути `ref`, ви передаєте функцію. Функція отримує екземпляр компонента чи DOM-елемент у вигляді аргумента, який можна використати або зберегти.
209209

210-
Приклад нижче реалізує поширений паттерн: використання функції зворотнього виклику у `ref` для зберігання посилання на DOM-вузл в екземплері.
210+
Приклад нижче реалізує поширений паттерн: використання функції зворотного виклику у `ref` для зберігання посилання на DOM-вузол в екземплярі.
211211

212212
```javascript{5,7-9,11-14,19,29,34}
213213
class CustomTextInput extends React.Component {
@@ -232,7 +232,7 @@ class CustomTextInput extends React.Component {
232232
}
233233
234234
render() {
235-
// Використання функції зворотнього виклику в `ref` для зберігання посилання на DOM-елемент
235+
// Використання функції зворотного виклику в `ref` для зберігання посилання на DOM-елемент
236236
// текстове поле введення в екземплярі (наприклад, this.textInput).
237237
return (
238238
<div>
@@ -251,9 +251,9 @@ class CustomTextInput extends React.Component {
251251
}
252252
```
253253

254-
React викличе функцію зворотнього виклику `ref` з DOM-елементом, коли компонент буде примонтований, та виконає її зі значенням `null`, коли компонент буде прибрано. Рефи гарантують актуальність перед викликом метода `componentDidMount` або `componentDidUpdate`.
254+
React викличе функцію зворотного виклику `ref` з DOM-елементом, коли компонент буде примонтований, та виконає її зі значенням `null`, коли компонент буде прибрано. Рефи гарантують актуальність перед викликом метода `componentDidMount` або `componentDidUpdate`.
255255

256-
Ви можете передавати реф зворотнього виклику між компонентами так само як і реф, що створюється викликом функції `React.createRef()`.
256+
Ви можете передавати реф зворотного виклику між компонентами так само як і реф, що створюється викликом функції `React.createRef()`.
257257

258258
```javascript{4,13}
259259
function CustomTextInput(props) {
@@ -275,16 +275,16 @@ class Parent extends React.Component {
275275
}
276276
```
277277

278-
У попередньому прикладі, `Parent` передає свій реф зворотнього виклику як проп `inputRef` нащадку `CustomTextInput`, і вже `CustomTextInput` передає цю функцію як спеціалізований атрибут `ref` до `<input>`. Як результат, `this.inputElement` у `Parent` буде посиланням на DOM-вузол, що відповідає елементу `<input>` у компонента `CustomTextInput`.
278+
У попередньому прикладі, `Parent` передає свій реф зворотного виклику як проп `inputRef` нащадку `CustomTextInput`, і вже `CustomTextInput` передає цю функцію як спеціалізований атрибут `ref` до `<input>`. Як результат, `this.inputElement` у `Parent` буде посиланням на DOM-вузол, що відповідає елементу `<input>` у компонента `CustomTextInput`.
279279

280280
### Застарілий API: рядкові рефи {#legacy-api-string-refs}
281281

282282
Якщо ви працювали з React раніше, ви мабуть знайомі зі старим API, де атрибут `ref` може бути рядком, наприклад `"textInput"`, в той самий час DOM-вузол стає доступним через `this.refs.textInput`. Ми не радимо користуватися ним, тому що рядкові рефи мають [деякі проблеми](https://github.com/facebook/react/pull/8333#issuecomment-271648615), також цей API вважається застарілим, та **ймовірно буде видалений в одній з майбутніх версій**.
283283

284284
> Примітка:
285285
>
286-
> Якщо ви досі користуєтесь `this.refs.textInput` для доступу до рефів, ми рекомендуємо натомість користовуватися [рефами зворотнього виклику](#callback-refs) або [`createRef` API](#creating-refs).
286+
> Якщо ви досі користуєтесь `this.refs.textInput` для доступу до рефів, ми рекомендуємо натомість користовуватися [рефами зворотного виклику](#callback-refs) або [`createRef` API](#creating-refs).
287287
288-
### Застереження до рефів зворотнього виклику {#caveats-with-callback-refs}
288+
### Застереження до рефів зворотного виклику {#caveats-with-callback-refs}
289289

290290
Якщо `ref` визначено як вбудовану функцію, то вона буде виклакана двічі протягом оновлень, перший раз з `null`, потім з посиланням на DOM-елемент. Це відбувається, тому що створюється новий екземпляр функції під час кожного рендеру, так як React потребує очистити старий реф та встановити новий. Щоб запобігти цьому, просто передайте в `ref` метод класу, але зверніть увагу, що в більшості випадків це не має значення.

0 commit comments

Comments
 (0)