По сути, раньше, если у компонента было состояние или ему было необходимо использовать метод жизненного цикла, нам приходилось использовать класс, для которого требуется куча дополнительного кода.
Теперь это не так.С помощью хуков, вместо того, чтобы когда-либо использовать класс, мы всегда могли использовать функцию.
Тайлер МакГиннис сделал хороший пост в блоге об этом здесь.
https://tylermcginnis.com/why-react-hooks/