useRef 还是 DOM api?

useRef or DOM api?

React 文档提到不要过度使用 useRef,我的脑海里出现了混乱:https://reactjs.org/docs/refs-and-the-dom.html#dont-overuse-refs.

在我当前的 React 编码风格中,我使用 dom api 来操纵 dom 而不是 useRef 挂钩,因为我制定的规则是仅在绝对需要时才使用 Ref,但我无法理解为什么我必须用 dom api 替换 useRef。或者我应该在这种情况下使用 Ref 吗?

看看你链接到的 material 到底在说什么:

Your first inclination may be to use refs to “make things happen” in your app. If this is the case, take a moment and think more critically about where state should be owned in the component hierarchy. Often, it becomes clear that the proper place to “own” that state is at a higher level in the hierarchy.

它说你应该避免引用(因此直接操作 DOM 元素)以支持通过 state 和 [= 改变 DOM 17=]道具.

如果您需要直接访问 DOM,那么您 绝对 应该使用 refs。它质疑是否需要直接访问 DOM 而不是使用 refs 来获取它。