程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了我用 let 声明了我的变量,但它仍然不在全局范围内大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决我用 let 声明了我的变量,但它仍然不在全局范围内?

开发过程中遇到我用 let 声明了我的变量,但它仍然不在全局范围内的问题如何解决?下面主要结合日常开发的经验,给出你关于我用 let 声明了我的变量,但它仍然不在全局范围内的解决方法建议,希望对你解决我用 let 声明了我的变量,但它仍然不在全局范围内有所启发或帮助;

我试图让一个组件出现在 'uneligible=(age

    let uneligible;
  const handleSaveGeneral = async (E) => {
    var dateOfBirth = "2007-01-01";
    var split_dob = dateOfBirth.split("-");
    var month = split_dob[1];
    var day = split_dob[2];
    var year = split_dob[0];
    var dob_asdate = new Date(year,month,day);
    var today = new Date();
    var mili_dif = Math.abs(today.getTime() - dob_asdate.getTime());
    var age = mili_dif / (1000 * 3600 * 24 * 365.25);
    console.log(agE);
    uneligible = age < 18;
  };
@H_197_7@

现在它在组件周围的语法中未定义,组件不会出现

<div>
      {uneligible && (
        <Alert variant="filled" severity="error">
          This is an error alert — check it out!
        </Alert>
      )}
    </div>
@H_197_7@

代码沙盘:https://codesandbox.io/s/serverless-wave-qyuc4?file=/src/App.js:602-767

由于这个问题,我没有使用有状态变量:conditional rendering is not working in my functional component

解决方法

查看 react 文档以了解它的生态系统如何围绕状态旋转。您的代码应该看起来像这样,具有给定的详细信息 - https://codesandbox.io/s/quirky-buck-s2qvo

您可以在发生特定事件时调用相同的函数,而不是使用 useEffect,例如按钮点击时的 click 事件。

关于您更新的问题-您一次又一次地设置状态,因为由于设置状态而导致的每个渲染将再次调用状态更新程序函数,并且它会继续......如果您想要一个,这不是您想要的- 根本没有处理程序的时间初始渲染。

但是现在由于您将通过函数处理程序处理警报的可见性,您有责任向该组件添加某种状态,以便在该处理程序中更新可见性状态并显示您的警报。

,

let 允许您声明仅限于使用它的块语句或表达式范围的变量,这与 var 关键字不同,它声明一个全局变量或局部变量不虑块作用域的整个函数。

就像 const 一样,let 在全局(在最顶层范围内)声明时不会创建 window 对象的属性。

要实现您想要的效果,您可以使用 var / window.uneligible 而不是 let

大佬总结

以上是大佬教程为你收集整理的我用 let 声明了我的变量,但它仍然不在全局范围内全部内容,希望文章能够帮你解决我用 let 声明了我的变量,但它仍然不在全局范围内所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:let我用