В реакция не можете да промените дом без държавата. В компонента, базиран на клас, можем да декларираме състояние вътре в класа. Не можем да променим стойността на състоянието директно. Тук можем да променим стойността на състоянието чрез метода setState(). Когато стойността на състоянието се промени, dom ще рендерира отново, иначе няма. Преди react 16.8 нямаше начин да се декларира състояние във функционален компонент. В реакция 16.8 бяха въведени някои кукички. useState е един от тях. Тук системата за деклариране на useState “const [state,setState]=useState()”. Тук състоянието работи по същия начин като състоянието на базирания на клас компонент. От друга страна, setState е функция, чрез която можете да зададете нова/актуализирана стойност на състоянието. Това също е подобно на функцията setState() в базиран на клас компонент. Нямаше забележима разлика при използване на куки или състояние. Ако използвате компонент, базиран на клас, тогава трябва да използвате състояние. В противен случай трябва да използвате кука useState.