Re:Frustrations with React Hooks
by dumbmatter on Tuesday September 10, 2019 @04:18PM
(#20933203)
Stuff like https://reactjs.org/docs/hooks-faq.html#how-can-i-measure-a-...
If you're not aware of that, it is very tempting to use `useRef`, which is what I have often seen. Before hooks, we did not have the temptingly-named footgun `useRef` for this scenario (although we did have other footguns for other scenarios, and overall I love hooks).
Ref's are basically a 1 to 1 replacement for instance fields for mutable data (that doesn't cause rerenders).
https://reactjs.org/docs/hooks-reference.html#useref
There's always need for escape hatches and maybe I'm missing your use case, but in the context of a discussion about how hooks are more complicated than classes, what were you doing before with refs to solve your "re-render" on change scenario?
Your example was likely contrived, but modifying innerHTML should be replaced by putting whatever in state and simply rendering it. And use state for dependencies where you want to re-run on change. Refs are just another way to keep state but not have it affect render cycle.