Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have trained a dozen or so developers on React and for less experienced developers, hooks are much more intuitive because they don't rely on an abstract understanding of arbitrary lifecycle identifiers, instead, hooks are explicitly executed in application code that is logically accessible to the programmer.


I have a hard time seeing how lifecycle identifiers could be called "arbitrary" except perhaps (again) from an "under the hood" viewpoint. From an API standpoint they are explicit and extremely simple.

I don't have anything against hooks except the API. There is no way for someone who isn't intimate with the ecosystem to understand the difference between these:

    useEffect(() => {
      document.title = foo;
    }, [foo]);



    useEffect(() => {
      document.title = foo;
    });


    useEffect(() => {
      document.title = foo;
    }, []);
Whereas anyone can understand `componentDidUpdate`, `componentDidMount`, `componentWillUnmount` just by reading them.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: