|
|
|
|
|
by jameslk
2142 days ago
|
|
I think they're better off as a separate library (similar to react-transition-group), as someone else has suggested in the comments. There's certain cases where they come in handy, I understand this, but they didn't need to be baked into React. I really dislike the way they can be abused to litter state and side effects all over React code so easily (e.g. hiding it layers deep in helper functions). And I feel they've made the API worse, such as `this` being replaced with the more clumsy `useRef`, or requiring an empty array to change the behavior of `useEffect`. These are things that break the Principal of Least Astonishment and have consequently led to countless blog posts that try to explain how to do things that were much more straight forward without hooks. I've written about hooks before in past comments: https://news.ycombinator.com/item?id=19357068 It's been a couple of years since they've been added, and I don't feel the ecosystem has improved because of it. So to me it was a mistake. I know they will likely not be removed from React, so what I said was more tongue-in-cheek. |
|
It makes it much easier to have composable functions/state, which I love.