Особенно меня смущают некоторые примеры кода где в чистую функцию, презентационную компоненту, засовывают useEffect и говорят: смотрите как просто и классно, никакого ООП, только функциональное программирование.
Объясни сначала это? Пример кода можешь скинуть...
Чистая функция это функция которая использует только параметры переданные в нее, то есть она не берет ничего из вне. Причем тут useEffect?
1) Хуки упрощают разработку.
2) Код становится намного читабельней.
3) ООП х*рня, попробуй хоть раз пописать на функциональном языке(к примеру erlang/haskell) и я сейчас не про js с реактом и если поймешь саму суть ФП выкинешь нафиг из своей жизни всю ООП чепуху (Java, C# и т.д)
4) Посмотри сколько в классовых компонентах сайд эффектов, а потом посмотри как это пишется на useEffect.
Вообще не понимаю о чем базар, если в ИТ технологии развиваются и меняются быстрее чем вы успеете стать Senior в какой-то области. Единственное что необходимо знать насчет хуков. Хуки - топ, классы - отстой. А вообще вам выше скинули ссылку на статью, посмотрите обязательно.
Полностью на ваше усмотрение. Вы можете попробовать хуки в одних компонентах, не изменяя код в других. Хуки не обязательно использовать или изучать прямо сейчас.
100% обратно совместимы. Хуки не содержат изменений, которые могут поломать ваш существующий код.