useRef导致重新渲染,这是预期的行为吗



仅仅声明useRef就会导致我的组件重新呈现。这是人们所期望的行为吗?如果是,简短的解释会有所帮助。

样本组件代码

App.js

<><CustomInput /></>

CustomInput.js

function CustomInput(props) {
console.log("This is rendering twice");
const testRef = useRef(null);
return <input type="text" />
}

原因不是useRef,而是项目中index.js文件中的<React.StrictMode>

发生这种情况的原因是CCD_ 3的一个有意特征。它只在开发模式下发生,应该有助于在渲染阶段发现意外的副作用。

去掉包装<React.StrictMode>将解决开发模式中的问题。

相关内容

  • 没有找到相关文章

最新更新