专栏名称: 大迁世界
掘金LV8,思否10万+的作者。一个热爱前端的创业者。
今天看啥  ›  专栏  ›  大迁世界

20.useMediaQuery

大迁世界  · 公众号  ·  · 2024-11-17 20:06
    

文章预览

在现代 Web 开发中, 响应式设计 是一个关键概念,它允许应用根据不同的屏幕尺寸和设备特性调整其布局和行为。 useMediaQuery 钩子提供了一种声明式的方法来在 React 组件中使用媒体查询,使得响应式逻辑的实现变得简单而直观。这个自定义钩子不仅简化了媒体查询的使用,还能够实时响应视口变化。以下是如何实现和使用这个自定义钩子: const  useMediaQuery =  ( query, whenTrue, whenFalse ) =>  {    if  ( typeof   window  ===  'undefined'  ||  typeof   window .matchMedia ===  'undefined' )      return  whenFalse;    const  mediaQuery =  window .matchMedia(query);    const  [match, setMatch] = React.useState(!!mediaQuery.matches);   React.useEffect( ()  =>  {      const  handler =  ()  =>  setMatch(!!mediaQuery.matches);     mediaQuery.addListener(handler);      return   ()  =>  mediaQuery.removeListener(handler);   ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览