React中使用Eruda调试工具时页面为什么会闪一下?
我在React项目里想用Eruda做移动端调试,按照文档在组件挂载时初始化,但每次页面加载时都会闪一下,看起来特别不舒服。试过把eruda.init()放在useEffect里依赖为空数组,但问题依旧存在。
代码这样写的:
import eruda from 'eruda';
function App() {
useEffect(() => {
eruda.install();
eruda.init();
}, []);
return (
{/* 页面内容 */}
);
}
也尝试过用setTimeout包裹eruda.init,或者在路由切换时才加载,但闪屏还是会出现。是不是有什么地方没配置对?有没有更好的解决办法?
通用的做法是先隐藏eruda面板,等页面渲染完成后再让它显示。你可以给eruda加个配置,初始化时不自动显示面板:
然后通过快捷方式唤出,比如双击屏幕某个区域再调eruda.show(),这样就不会影响首次加载体验。
还有一个更彻底的办法:只在生产环境特定条件下加载eruda,比如url带debug参数时才初始化
这样既不影响正常用户,又能方便调试,推荐用这个方案。