Skip to content

Commit 250791d

Browse files
Apply suggestions from code review
fixed more issues Co-authored-by: Alina Listunova <alinkedd@users.noreply.github.com>
1 parent bcaccbe commit 250791d

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/content/reference/react/useImperativeHandle.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ function MyInput({ ref }) {
4646
4747
<Note>
4848
49-
Починаючи з React 19 [`реф` доступний як проп.](/blog/2024/12/05/react-19#ref-as-a-prop) У React 18 і старіших версіях необхідно було отримувати `реф` з [`forwardRef`.](/reference/react/forwardRef)
49+
Починаючи з React 19, [`ref` доступний як проп.](/blog/2024/12/05/react-19#ref-as-a-prop) У React 18 і старіших версіях необхідно було отримувати `ref` із [`forwardRef`.](/reference/react/forwardRef)
5050
5151
</Note>
5252
@@ -58,17 +58,17 @@ function MyInput({ ref }) {
5858
5959
## Використання {/*usage*/}
6060
61-
### Надання кастомного об'єкта посилання батьківському компоненту {/*exposing-a-custom-ref-handle-to-the-parent-component*/}
61+
### Доступ батьківського елемента до налаштованого дескриптора рефа {/*exposing-a-custom-ref-handle-to-the-parent-component*/}
6262
63-
Щоб надати DOM-вузол батьківському елементу, передайте проп ref до цього вузла.
63+
Щоб надати доступ до DOM-вузла батьківському елементу, передайте проп `ref` далі до цього вузла.
6464
6565
```js {2}
6666
function MyInput({ ref }) {
6767
return <input ref={ref} />;
6868
};
6969
```
7070
71-
У коді вище [посилання до `MyInput` отримає DOM вузол `<input>`.](/learn/manipulating-the-dom-with-refs) Однак, замість цього ви можете передати кастомне значення. Щоб кастомізувати наданий об'єкт посилання, викличте `useImperativeHandle` на верхньому рівні вашого компонента:
71+
У коді вище [реф, переданий компоненту `MyInput`, отримає DOM-вузол `<input>`.](/learn/manipulating-the-dom-with-refs) Однак, замість цього ви можете задати власне значення. Щоб налаштувати публічний дескриптор, викличте `useImperativeHandle` на верхньому рівні вашого компонента:
7272
7373
```js {4-8}
7474
import { useImperativeHandle } from 'react';
@@ -84,9 +84,9 @@ function MyInput({ ref }) {
8484
};
8585
```
8686
87-
Зверніть увагу, що в наданому вище коді `реф` більше не передається до `<input>`.
87+
Зверніть увагу, що в наведеному вище коді `ref` більше не передається елементу `<input>`.
8888
89-
Наприклад, припустимо, ви не хочете використовувати весь вузол DOM `<input>`, а лише два його методи: `focus` і `scrollIntoView`. Щоб зробити це, зберігайте справжній браузерний DOM у окремому посиланні. Потім викличте `useImperativeHandle` щоб повернути об'єкт, який містить лише ті методи, які ви хочете, щоб батьківський компонент викликав:
89+
Наприклад, припустимо, що ви не хочете робити публічним весь DOM-вузол `<input>`, а лише два його методи: `focus` і `scrollIntoView`. У цьому разі зберігайте справжній браузерний DOM в окремому рефі. Потім викличте `useImperativeHandle`, щоб надати доступ до дескриптора, який містить лише методи, необхідні для виклику батьківським компонентом:
9090
9191
```js {7-14}
9292
import { useRef, useImperativeHandle } from 'react';
@@ -109,7 +109,7 @@ function MyInput({ ref }) {
109109
};
110110
```
111111
112-
Тепер, якщо батьківський компонент передасть реф до `MyInput`, він буде здатний викликати методи `focus` і `scrollIntoView` в компоненті. Однак, він не буде мати повного доступу до DOM вузла `<input>`.
112+
Тепер якщо батьківський компонент передасть реф до `MyInput`, він зможе викликати його методи `focus` і `scrollIntoView`. Однак, він не буде мати повного доступу до справжнього DOM-вузла `<input>`.
113113
114114
<Sandpack>
115115
@@ -122,7 +122,7 @@ export default function Form() {
122122

123123
function handleClick() {
124124
ref.current.focus();
125-
// Це не спрацює, бо вузол DOM не був представлений:
125+
// Це не спрацює, бо вузол DOM не публічний:
126126
// ref.current.style.opacity = 0.5;
127127
}
128128

0 commit comments

Comments
 (0)