我正在做代码审查,发现另一个开发人员编写的代码,例如:
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 版本的内联 ref。它是一种传统的写作模式吗?
到目前为止我可以研究的是,inlineref
会渲染两次函数,因此建议避免。
我想知道对此的其他解释是什么?