> How come they break Javascript semantics and execution flow?
wait what?
since when do they break execution flow and javascript semantics?!
useEffect(function () { }); when exactly do you think the function will be called? - correct only the "framework" defines that, but that's completly normal javascript execution and semantic.
I completely agree that learning them is a bit crazy, but ultimately every hook comes down to being a function execution.