默认的Appbar colored颜色 由MUI设置为原色,即蓝色.

那么,在保持对Mui暗模式功能的支持的同时,如何以正确的方式更改Appbar的背景色呢?

推荐答案

首先判断用户对浅色或深色主题的偏好:

import useMediaQuery from '@mui/material/useMediaQuery';
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)')

然后可以相应地设置AppBar的 colored颜色 :

const appBarColor = prefersDarkMode ? darkColor : lightColor
return <AppBar sx = {{ background: appBarColor }} />

您也可以 Select 判断值theme.palette.mode,以确定 colored颜色 的方式.

useMediaQuery

prefers-color-scheme

Reactjs相关问答推荐

react 表复选框不对任何操作做出react

如何从react 18-nextjs 14应用程序路由中的客户端组件呈现服务器组件?

页面永远加载API/从数据库获取数据

Antd V5组件自定义主题

当我无法引用模态组件时,如何使模态组件在 Next.js/React 中管理自己的状态?

Chart.js如何go 除边框

如何优化 React 应用程序的性能?

Firebase查询返回随机用户数据,而不是过滤后的用户数据

React:如何使用条件渲染和react 挂钩来更新另一个组件的状态?

React v6 中的公共和私有路由

我正在通过 API(有效)从 MongoDB 传递数据.可视化但我不断收到此 TypeError: Cannot convert undefined or null to object

在 React 中将路径与查询变量匹配

使用 React.lazy 调试 webpack 代码拆分

SonarCloud 代码覆盖率不适用于 Github Action

setState 改变对象引用

React Router 6.4CreateBrowserRouter子元素不显示

如何定制 React 热 toastr ?

React如何在用户登录后等待当前用户数据被获取

React中`onScroll`和`onScrollCapture`之间的区别?

错误(未捕获的类型错误):无法读取未定义的属性(读取参数)