首页 > 解决方案 > 如果条件返回未定义,则反应屏幕大小

问题描述

我正在使用以下代码检查屏幕大小,如果小于545px则 x,y,r 值发生变化。否则它们保持不变。

const screenWidth = React.useState(window.innerWidth);
if(screenWidth == "545"){
    let x = "200";
    let y = "250";
    let r = "150";
}
else{
    let x = "250";
    let y = "300";
    let r = "250";
}

我已经调试了 screenWidth,它工作正常,但我收到编译错误,即 x、y、r 未定义。

当我尝试使用 if 条件来调整屏幕尺寸时,为什么会得到未定义的值?

标签: javascriptreactjs

解决方案


  const screenWidth = React.useState(window.innerWidth);
 let x=0;
 let y=0;
 let r=0;
if(screenWidth == "545"){
 x = "200";
 y = "250";
 r = "150";
}
else{
 x = "250";
 y = "300";
 r = "250";
 }

最初声明项目然后根据条件进行分配是一种很好的做法,而不是在块中声明

希望这能解决你的问题


推荐阅读