Settings

Theme

Ask HN: What do you think about React Hooks?

9 points by lsm 7 years ago · 6 comments · 1 min read


Link here: https://reactjs.org/docs/hooks-intro.html

salvoravida 7 years ago

My 2c on the hooks cause: https://github.com/salvoravida/react-class-hooks

Use Custom Hooks with React Class Components. Compatible React >= 16.0.0

dreamdu5t 7 years ago

At first glance, hooks are hard to reason about. They encourage changing pure functions into stateful functions that return different results depending on when they were called.

Immediately after seeing the first example, I'm left wondering what happens if I called useState(0) twice? Does it produce references to the same state object or two separate ones? Does it throw an error? I see "count" and "setCount" being destructured, but where are they defined? Through static analysis during a special build step, through getters, or what?

  • acemarke 7 years ago

    The first time the component renders, each individual call to `useState` results in a new unique-to-that-component state value being stored behind the scenes. React builds a linked list of all hooks attached to that function component the first time you run it, and then reads from that linked list in future re-renders. So, when you run it again, and `useState()` call #1 occurs, it reads the value and the setter function off the first linked list node, and returns those.

    • ncphillips 7 years ago

      This is so much more complicated than the class approach.

      What's saved in lines of code is lost in expressiveness.

      Feels like a step toward Ruby-like magic.

      • trixn 7 years ago

        I feel exactly the opposite is the case. Hooks can improve expressiveness a lot by helping developers to separate concerns and keeping logic that belongs together in a separate place.

        While I understand the argument that hooks encourage to make dumb components stateful this is already the case with class based components. At the end of the day a developer is responsible for separating concerns of his application and he can fail to do so with class based components and hooks the same way.

      • danabramov 7 years ago

        While I see why you might feel this way, I wrote an article about this and would appreciate if you give it a read. https://medium.com/@dan_abramov/making-sense-of-react-hooks-...

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection