Link Search Menu Expand Document

Хуки

Это функции которые позволяю не создавать классовых элементов вообще. Они могут быть использованны только в компонентах функциях. Хуки нельзя использовать внутри циклов, условий или вложенных функций.

import React, { useState, useEffect } from 'react';
import './App.css';

function App() {
  const [count, setCount] = useState(0);
  const [data, refreshData] = useState([{ name: 'Ivan', sex: 'male' }]);

  useEffect(() => {
    console.log(data);
    return (() => { 
      console.log('exit');
    })
  })

  return (
    <>
      <div>
        <p>Вы кликнули {count} раз</p>
        <button
          onClick={() => setCount(count + 1)}>Кликни</button>
      </div>
      <div>
        {data.map(item => {
          return (
            <div>Имя: {item.name}, пол: {item.sex}</div>
          );
        })}
        <button onClick={() => { refreshData(data => ([...data, { name: 'Philip', sex: 'male' }])) }}>Добавить данные</button>
      </div>
    </>
  );
}
export default App;

Хуки состояний

useState – это хук. После того как он отработает, он возвращает массив.

Хуки эффектов

Мы можем отлавливать разные моменты в жизни компонентов (появились, обновились, исчезли) и в эти моменты можно делать различные запросы.

useEffect – вызывается каждый раз когда происходят изменения в приложении. return в данном хуке выполняется когда компонент исчезает со страницы.