 Робота з Посиланнями за Допомогою Хука useRef
Робота з Посиланнями за Допомогою Хука useRef
Хук useRef дозволяє створити змінну, яка зберігає посилання на елемент, значення або будь-які інші дані, що не впливають на рендеринг компонента. Це корисно для зберігання змінних значень, доступу до DOM-елементів або збереження значень між рендерами компонента.
Синтаксис:
Щоб використати хук useRef, необхідно оголосити змінну (refVariable) і присвоїти їй результат виклику useRef(). За бажанням можна передати початкове значення (initialValue) як аргумент цього хука.
const refVariable = useRef(initialValue);
Примітка
Поточне значення можна отримати та змінити через властивість
refVariable.current. ПеревагаuseRefполягає в тому, що це дозволяє змінювати ці значення без повторного рендерингу компонента.
Приклад:
Створимо компонент FormInput, який використовує хук useRef для створення посилання на елемент input та фокусується на ньому при натисканні кнопки.
import React, { useRef } from "react";
const FormInput = () => {
  const inputRef = useRef();
  const handleClick = () => {
    inputRef.current.focus();
  };
  return (
    <div>
      <input type="text" ref={inputRef} />
      <button onClick={handleClick}>Focus Input</button>
    </div>
  );
};
У цьому прикладі хук useRef створює посилання з назвою inputRef. Це посилання призначається атрибуту ref елемента input, що дозволяє отримати доступ до елемента input через inputRef.current.
Пояснення по рядках:
- Рядок 1: Імпортуємо хук useRefз бібліотеки React для використання його функціоналу;
- Рядок 3: Компонент FormInputвизначено за допомогою стандартного синтаксису функції;
- Рядок 4: Ініціалізуємо змінну inputRefза допомогою хукаuseRef, яка представляє посилання на input;
- Рядки 6-8: Ця стрілочна функція JavaScript обробляє логіку натискання кнопки, яка фокусує курсор користувача на полі вводу;
- Рядки 10-15: Відображається розмітка компонента.
- У рядку 12 встановлюємо посилання через атрибут refі призначаємо йому зміннуinputRef;
- Кнопка у рядку 13 використовує атрибут onClickдля вказівки функції, яка виконується при натисканні, у цьому випадку це функціяhandleClick.
Повний код застосунку:
1. Яке основне призначення хука useRef?
2. Яке з наведеного найкраще описує поведінку змінної useRef при оновленні її значення?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain more use cases for useRef besides focusing an input?
How does useRef differ from useState in React?
Can you show how to use useRef to store a mutable value that isn't a DOM element?
Awesome!
Completion rate improved to 2.17 Робота з Посиланнями за Допомогою Хука useRef
Робота з Посиланнями за Допомогою Хука useRef
Свайпніть щоб показати меню
Хук useRef дозволяє створити змінну, яка зберігає посилання на елемент, значення або будь-які інші дані, що не впливають на рендеринг компонента. Це корисно для зберігання змінних значень, доступу до DOM-елементів або збереження значень між рендерами компонента.
Синтаксис:
Щоб використати хук useRef, необхідно оголосити змінну (refVariable) і присвоїти їй результат виклику useRef(). За бажанням можна передати початкове значення (initialValue) як аргумент цього хука.
const refVariable = useRef(initialValue);
Примітка
Поточне значення можна отримати та змінити через властивість
refVariable.current. ПеревагаuseRefполягає в тому, що це дозволяє змінювати ці значення без повторного рендерингу компонента.
Приклад:
Створимо компонент FormInput, який використовує хук useRef для створення посилання на елемент input та фокусується на ньому при натисканні кнопки.
import React, { useRef } from "react";
const FormInput = () => {
  const inputRef = useRef();
  const handleClick = () => {
    inputRef.current.focus();
  };
  return (
    <div>
      <input type="text" ref={inputRef} />
      <button onClick={handleClick}>Focus Input</button>
    </div>
  );
};
У цьому прикладі хук useRef створює посилання з назвою inputRef. Це посилання призначається атрибуту ref елемента input, що дозволяє отримати доступ до елемента input через inputRef.current.
Пояснення по рядках:
- Рядок 1: Імпортуємо хук useRefз бібліотеки React для використання його функціоналу;
- Рядок 3: Компонент FormInputвизначено за допомогою стандартного синтаксису функції;
- Рядок 4: Ініціалізуємо змінну inputRefза допомогою хукаuseRef, яка представляє посилання на input;
- Рядки 6-8: Ця стрілочна функція JavaScript обробляє логіку натискання кнопки, яка фокусує курсор користувача на полі вводу;
- Рядки 10-15: Відображається розмітка компонента.
- У рядку 12 встановлюємо посилання через атрибут refі призначаємо йому зміннуinputRef;
- Кнопка у рядку 13 використовує атрибут onClickдля вказівки функції, яка виконується при натисканні, у цьому випадку це функціяhandleClick.
Повний код застосунку:
1. Яке основне призначення хука useRef?
2. Яке з наведеного найкраще описує поведінку змінної useRef при оновленні її значення?
Дякуємо за ваш відгук!