1.使用方法
import useResponsive from '../../hooks/useResponsive';const smUp = useResponsive('up', 'sm');const mdUp = useResponsive('up', 'md');function(){return ({smUp && (<Typography variant="body2" sx={{ mt: { md: -2 } }}>Don’t have an account? {''}<NextLink href={PATH_AUTH.register} passHref><Link variant="subtitle2">Get started</Link></NextLink></Typography>)}</HeaderStyle>{mdUp && (<LoginLeft/>)}{!smUp && (<Typography variant="body2" align="center" sx={{ mt: 3 }}>Don’t have an account?{' '}<NextLink href={PATH_AUTH.register} passHref><Link variant="subtitle2">Get started</Link></NextLink></Typography>)})}
2.根据mui封装的hook
hooks/useResponsiveimport { Breakpoint } from '@mui/material';import { useTheme } from '@mui/material/styles';import useMediaQuery from '@mui/material/useMediaQuery';// ----------------------------------------------------------------------type Query = 'up' | 'down' | 'between' | 'only';type Key = Breakpoint | number;type Start = Breakpoint | number;type End = Breakpoint | number;export default function useResponsive(query: Query, key?: Key, start?: Start, end?: End) {const theme = useTheme();const mediaUp = useMediaQuery(theme.breakpoints.up(key as Key));const mediaDown = useMediaQuery(theme.breakpoints.down(key as Key));const mediaBetween = useMediaQuery(theme.breakpoints.between(start as Start, end as End));const mediaOnly = useMediaQuery(theme.breakpoints.only(key as Breakpoint));if (query === 'up') {return mediaUp;}if (query === 'down') {return mediaDown;}if (query === 'between') {return mediaBetween;}if (query === 'only') {return mediaOnly;}}
3.Mui官网关于useMediaQuery的描述
监听与 CSS 媒体查询的匹配的内容https://mui.com/zh/components/use-media-query/
在项目中是结合了另外两个Api….暂时没看
