【发布时间】:2020-11-06 18:52:38
【问题描述】:
我正在做代码审查,发现其他开发人员编写的代码,例如:
function sampleComponent() {
let divRef = {};
return (
<div ref={(el) => { divRef = el }}></div>
)
}
然后使用 divRef 作为对 DOM 元素的引用。
但是,我知道的模式是在类组件中使用createRef,在功能组件中使用useRef 钩子。甚至 ReactJS 官方 https://reactjs.org/docs/refs-and-the-dom.html 也表示要避免未来 React 版本的内联引用。它是一种遗留模式吗?
目前我可以研究的是,inline ref 会渲染两次函数,所以建议避免。
我想知道对此还有什么其他解释?
【问题讨论】:
标签: reactjs ref use-ref create-ref