Хорошо и последний вопрос а то мне на пары вставать еще, что такое хуки и для чего это?
Ну они впринципе для разных вещей используются, хук это по сути просто функция которая позволяет что-то делать, есть хук который позволяет создавать состояние (useState), есть хук который позволяет запускать какую-то функцию при изменении нужных переменных (useEffect), есть хуки жизненного цикла (функции, которые запускаются на определенном этапе жизни компонента, при его создании, при его уничтожении, при его обновлении как пример) и т.п., можно юзать не только стандартные хуки реакта, можно юзать из других библиотек и создавать свои)