React+hooks+Redux
  • Вступление
  • REACT HOOKS
    • Введение в хуки
    • Основные хуки
      • Хук состояния (useState)
      • Хук эффекта (useEffect)
      • Хук колбека (useCallback)
      • Хук рефа (useRef)
    • Создание собственных хуков
    • Правила использования хуков
    • Полезная информация
      • Хук мемоизированного значения (useMemo)
      • Как закешировать вычисления?
      • Как получить предыдущие пропсы или состояние?
      • Как осуществлять запросы за данными с помощью хуков?
    • Задание React Hooks
  • REDUX
    • Что такое Redux
    • Основы
      • Действия (Actions)
      • Генераторы действий (Action Creators)
      • Редюсеры (Reducers)
      • Хранилище (Store)
      • Получение доступа к actions и state с помощью функции connect()
      • Подключение Redux
    • Что дальше?
      • Асинхронные действия (Async Actions)
      • Использование Redux с React Router
    • Задание Redux
  • FAQ
    • Заключение
Powered by GitBook
On this page

Was this helpful?

  1. REACT HOOKS
  2. Основные хуки

Хук рефа (useRef)

useRef - возвращает изменяемый ref-объект, свойство .current которого инициализируется переданным аргументом (initialValue). Возвращённый объект будет сохраняться в течение всего времени жизни компонента.

const refContainer = useRef(initialValue);

Давайте посмотрим пример использования useRef() hook:

function TextInputWithFocusButton() {
  const [name, setName] = useState('');
  const nameRef = useRef(null);
  const onButtonClick = () => {
    // `current` указывает на смонтированный элемент `input`
    setName(nameRef.current.value);
  };
  return (
    <div>
      <p>{name}</p>
      
      <input ref={nameRef} type="text" />
      <button onClick={onButtonClick}>Задать имя</button>
    </div>
  );
}

В приведенном выше примере мы используем useRef в сочетании с useState, чтобы отрендерить значение input в тег p.

Ref создается в переменной nameRef. Затем переменную nameRef можно использовать в input, задав как ref. По существу, это означает, что теперь поле ввода будет доступно через ref.

setName будет использоваться для установки state name. Чтобы извлечь имя из тега input, мы читаем значение nameRef.current.value.

PreviousХук колбека (useCallback)NextСоздание собственных хуков

Last updated 5 years ago

Was this helpful?