> As a rule of personal thumb. I use hooks when: logic is reused, logic can be and make sense to be reused later, logic is big and can be isolated into one meaningful hook, logic makes component a pain to test. By default I will always put logic into the components and only extract when one of the above statement is true. I agree with other people, it's annoying to move through different files when there are no real need for it. I sometimes also extract some logic into hooks inside the component file. This is when I want to put a name on a block logic but doesn't need an extra file for above reason.