Главная Категории Контакты Поиск

React Custom Hooks

Что такое React хуки, и список популярных пользовательских хуков.

React ·15.05.2020·читать 2 мин 🤓·Автор: Alex Myzgin

Более года назад Sophie Alpert и Dan Abramov представили одну из самых интересных новых функций в React - Hooks. Релиз 16.8 представил несколько альтернатив, которые можно использовать напрямую (например, useState, useEffect и некоторые другие), но также предоставил возможность создавать свои собственные хуки - Custom Hooks.

Custom Hooks

Предположим, ты хочешь создать приложение, которое отслеживает значение даже после обновления страницы. Это легко сделать, воспользовавшись localStorage браузера. Custom Hook для этого может выглядеть следующим образом:

import React, { useState, useEffect } from 'react';

function useLocalStorage = (key, initialValue) => {
  const [value, setValue] = useState(
    () => window.localStorage.getItem(key) || initialValue
  );

  useEffect(() => {
    window.localStorage.setItem(key, value);
  }, [key, value]);

  return [value, setValue];
};

Как и все предопределенные хуки в React, имя пользовательского хука всегда должно начинаться с фразы use, чтобы их можно было отличить от других понятий в приложении (помни: хуки не работают в классовых компонентах).

Если ты хочешь использовать хук useLocalStorage, то можешь легко сделать это следующим образом:

const [value, setValue] = useLocalStorage("day", 2);

value;         // day: 2
setValue(24);  // day: 15

Идея Custom Hook заключается в том, чтобы поддерживать повторное использование логики с отслеживанием состояния и абстрагировать реализацию чего-то часто используемого в приложении.

Популярные пользовательские хуки

Website, name & logo
Copyright © 2019. Alex Myzgin