javascript - 如何根据屏幕尺寸执行功能javascript

标签 javascript reactjs react-bootstrap

如何通过 javascript/bootstrap 根据屏幕尺寸执行功能?

这是 div : <div className="col-sm hidden-md hidden-lg"></div>

我想设置这个功能(仅限小屏幕): const [ navOpen, setNavOpen ] = useState(true)

代码是reactjs,屏幕很小的时候如何调用函数?

最佳答案

我怀疑您使用围绕 Window.matchMedia 构建的 useEffect 会更好比使用 innerWidth 的东西。这在 JavaScript 中相当于 css 媒体查询。这样你就可以使用事件驱动的东西。

可能是这样的:

const [ navOpen, setNavOpen ] = useState(true)

useEffect(() => {
  const x = window.matchMedia("(max-width: 700px)")
  function myFunction(e) {
    setNavOpen(false);
  };
  x.addListener(myFunction)
  return () => x.removeListener(myFunction);
}, []);

注意:由于它有一个事件监听器,请注意返回一个清理函数来删除监听器。

信用:我从 w3schools 复制了部分代码

编辑:根据 @agus-zubiaga 的建议添加空依赖项数组

关于javascript - 如何根据屏幕尺寸执行功能javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60802695/

相关文章:

javascript - 如何使用 javascript 将文本字符串从浏览器直接上传到 Windows Azure Blob

javascript - 尝试使用 JavaScript 从 azure 获取访问 token 时无法加载响应数据

javascript - 如何动态加载和渲染 react 组件?

css - 在 ReactJS 中覆盖 css 类

ReactJS:如何将react-select包装在redux-form字段中?

javascript - insidehtml 无法更改(不断重置)

reactjs - 在 ReactJS 中使用 'then'

javascript - Axios 循环 promise

reactjs - 在 react-bootstrap <Tab> 标题旁边添加徽章

javascript - Vue.js 中相互依赖的属性