import { useState } from 'react';
const App = () => {
const [clicks, setClicks] = useState(0);
const handleClick = () => {
setClicks(clicks + 1);
};
return
};
===== Декілька станів =====
Ви можете мати стільки змінних стану, скільки потрібно в одному компонентії. Для кожного використовуйте окремий useState.
const App = () => {
const [clicks, setClicks] = useState(0);
const [isOpen, setIsOpen] = useState(false);
const handleClick = () => {
setClicks(clicks + 1);
};
const handleToggle = () => {
setIsOpen(!isOpen);
};
return (
<>
{isOpen && Now you can see me!}
>
);
};
===== різне =====
- стан є повністю приватним для компонента, що його визначає. Батьківський компонент не може його змінити. Це дозволяє додавати стан до будь-якого компонента чи видаляти його без впливу на решту компонентів
- Будь-які хуки можна викликати лише на верхньому рівні функції компонента. Це означає, що вони повинні знаходитися безпосередньо в тілі функції компонента, а не всередині циклів, умов, вкладених функцій і так далі. Такі обмеження спрощують написання логіки компонента та роблять код більш читабельним.
- Якщо потрібно встановиити сет-ом тільки одне значення обекта а іньші залишитии як і були, то можна "розпилити" **setDrinks({...drinks, myField: newValue})**