reactjs - Metarial UI useMediaQuery hooks 两次渲染到 React 组件,你有什么解决方案吗?
问题描述
我在项目中使用 MUI,需要检查当前断点以渲染移动设备的 div,但每次第一次渲染时isMobile和isDesktop值返回false,但在第二次渲染后设置正确的值。它在 UI 方面运行良好,但如果可能的话,我想避免第一次不必要的渲染?
const curTheme = useTheme();
const isMobile = useMediaQuery(curTheme.breakpoints.down("sm"));
const isDesktop = useMediaQuery(curTheme.breakpoints.up("md"));
解决方案
您应该添加 noSsr 选项
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', { noSsr: true });
推荐阅读
- python - 在同一个 .py 中同时执行多个函数
- php - 如何查询多对一关系的反面?
- json - 计算 MongoDB 集合中的叶子条目数
- flutter - 当我没有将其设置为空时,为什么来自单独文件的变量进入文件时为空?
- r - 是否有与 R 中的 which 函数等效的 pmatch ?
- kubernetes - kubernetes long args,如何在yaml文件中将长参数分成单独的行
- wordpress - 我在 Wordpress 网站的缓存文件夹中的 white.php 文件中找到了这段代码
- javascript - 更改按钮背景颜色
- python - 如何使用 Python 计算差异差异方法的置信区间?
- javascript - 在弹出窗口/模式中显示来自 php 函数的搜索结果