我正在进行代码审查,发现另一位开发人员编写的代码,例如:
function sampleComponent() {
let divRef = {};
return (
<div ref={(el) => { divRef = el }}></div>
)
}
Run Code Online (Sandbox Code Playgroud)
然后使用 divRef 作为 DOM 元素的引用。
然而,我知道的模式是createRef在类组件中使用,useRef在功能组件中使用钩子。甚至 ReactJS 官方https://reactjs.org/docs/refs-and-the-dom.html也表示要避免未来 React 版本的内联引用。这是一个要写的遗留模式吗?
到目前为止我能研究的是,内联会ref渲染函数两次,因此建议避免。
我想知道对此还有什么其他解释?