class Magic extend React.Component {}
Или как там было
Да.
Если в это будет общий компонент, который к стору редакса коннектится, я сделаю его классовым, для того, чтобы задать в нем хэндлеры событий
И есть еще случай, когда я делаю компоненты классовыми
Функциональные компоненты не несут никакой логики (и не должны), само собой, никаких хуков в них быть не может, они знают только о функциях обратного вызова, которые им приходят в пропсах и все, они ничего не решают