前言:
最近在用electron开发项目,遇到个问题 就是在electron在加载webview的时候,在页面中使用useEffect的时候总会渲染两次,这是非常头疼的事.
问题复现:
每次页面刷新的时候这个接口总能被调用两次.
useEffect(()=>{
getConfigList()
.then(res =>{
console.log(res);
})
},[])
这是代码. 就很烦,也找不到原因
从自己的这个组件一直往上找,一直到最外层APP 也依然渲染了两次
const App: React.FC = () => {
useEffect(()=>{
console.log(2222);
},[])
return (
<AppRouters/>
)
}
所以我感觉问题应该是出在electron上.
解决方案:
根本的解决方案并没有.
但是要在useEffect中只调用一次的话 倒有可以通过useRef来解决,这也只是治标不治本的方案..