Personally I just have a “template”-file for a component lying around which makes it really easy to reuse.
I’ve used Hooks too for a project and while it did work out great I found that it’s easier to get spaghetti-code using hooks - “normal” Halogen with it’s TEA approach forces you in a more obvious structuring of the component (mainly because you have the eval
/handle
functions for the “logic” instead of being able to stick it more or less right into the view
part.
Also I found that I tend to use nested functions a lot with hooks (to remove the need to pass along parameters) which is great but sadly you get no type-inference support in the editor with this (something that the Haskell LSP really does a great job with btw).