Javascript react中的条件函数
只是尝试在react中有条件地添加一个函数,我在JS中完全理解它,但react有点不同 我这里有我的媒体查询Javascript react中的条件函数,javascript,reactjs,media-queries,media,Javascript,Reactjs,Media Queries,Media,只是尝试在react中有条件地添加一个函数,我在JS中完全理解它,但react有点不同 我这里有我的媒体查询 let query = window.matchMedia("(max-width: 768px)") 所以我想做的是只允许onClick在媒体匹配的情况下运行 <div onClick={handleClick}> 欢呼声由于用户可以随时调整窗口大小,请在单击处理程序中运行检查: const handleClick = () => {
let query = window.matchMedia("(max-width: 768px)")
所以我想做的是只允许onClick在媒体匹配的情况下运行
<div onClick={handleClick}>
欢呼声由于用户可以随时调整窗口大小,请在单击处理程序中运行检查:
const handleClick = () => {
if (!window.matchMedia("(max-width: 768px)").matches) {
return;
}
// rest of the code
};
所以在
handleClick
中检查它?谢谢,我得到了这个:const handleClick=()=>{const query=window.matchMedia((最小宽度:768px)”),如果(!query)setisfliped(!isfliped);}在里面添加钩子,但当钩子达到大小时它不起作用,该函数甚至根本不运行。您说过,仅当处理程序匹配时才运行该处理程序。但是,if(!query)
将仅在不匹配时运行。颠倒你的测试如果(query){
是这样做的,但它不会在媒体查询上运行,这很奇怪,无论窗口大小如何,它都会运行。不确定发生了什么,它会在console.log上响应,因此语法没有问题。您需要检查结果的.matches
属性以获得布尔值,否则它将始终是真实的(一个MediaQueryList结果对象)啊,我明白了!我想我可以发布应该如何编写的语法,谢谢