News for hackers. Stuff that matters.
Re:React I love you, but you're bringing me down by nobleach on Tuesday September 20, 2022 @06:11PM (#32918492)
What's worse, they have interesting "rules" that one really needs to use a linter so their IDE/Text editor gives them friendly reminders. One cannot conditionally call useEffect. One needs to add all dependencies to useEffect's dependency array - BUT that has potential to cause infinite re-renders (especially when using a getter/setter pattern with useState). They encourage DEFINING functions inside of other functions. Years of CS education and practice go right out the window because some popular JS person on Twitter says, "it's fine".

When pressed about it, be ready to be hit with, "You don't understand hooks".

Re:React I love you, but you're bringing me down by skydhash on Tuesday September 20, 2022 @07:04PM (#32918942)
I agree with the others. I've started using hooks since they were introduced and I've only hit the re-render issue only a few times, which I promptly fixed as they were caused by carelessness. My strategy is to not use a single useEffect, but multiple ones for each (which reduce greatly the dependencies). Also, avoiding dependency circles between useState and useEffect.

I've used class components and I think hooks are much better than the monstrosity that the lifecycle methods would usually become.

Also defining functions inside other functions is very much the staple of functional programming.

Re:React I love you, but you're bringing me down by imbnwa on Tuesday September 20, 2022 @08:37PM (#32919643)
>Also defining functions inside other functions is very much the staple of functional programming.

Isn't the difference that JavaScript runtimes don't compile them away unlike functional runtimes?