Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更新项目以使用最新版本的javascript?_Javascript_Reactjs_Frontend - Fatal编程技术网

如何更新项目以使用最新版本的javascript?

如何更新项目以使用最新版本的javascript?,javascript,reactjs,frontend,Javascript,Reactjs,Frontend,我目前正在构建一个新的personal React项目,并希望利用和使用javascript中添加的一些最新功能,如可选链接。我已尝试将此脚本包含在index.html文件中,但没有成功。在React项目中获得最新稳定的javascript版本的秘诀是什么? *编辑:很抱歉,我没有添加足够的信息,但我正在尝试在Reactjs中使用可选的链接功能。但是,当我运行此偶数处理程序时,它会出错并显示以下错误消息: Button.js:18未捕获类型错误:props.onClick不是函数 这是真的,因为

我目前正在构建一个新的personal React项目,并希望利用和使用javascript中添加的一些最新功能,如可选链接。我已尝试将此脚本包含在index.html文件中,但没有成功。在React项目中获得最新稳定的javascript版本的秘诀是什么? *编辑:很抱歉,我没有添加足够的信息,但我正在尝试在Reactjs中使用可选的链接功能。但是,当我运行此偶数处理程序时,它会出错并显示以下错误消息:

Button.js:18未捕获类型错误:props.onClick不是函数

这是真的,因为我想看看可选链接是如何工作的,但显然在这里不起作用

const eventHandler = (e) => {
        console.log(e.target.value);
        // other code
        // onClick is the function that is passed from the parent component
        props?.onClick(e);
    }

老实说,直到我仔细研究它,我才完全理解这个语法。我不知道您可以使调用本身成为可选的,并且认为您只能对属性而不是方法/函数进行调用。但是,你可以!您只需要调整使用可选链接的方式。写为:

possiblyUndefinedObject?.possiblyUndefinedFunction?.()

如果使用回调或从具有 在分解赋值时,您可能有不存在的值 除非已经测试了函数的存在性,否则不能作为函数调用。使用
?。
,您可以避免此额外测试:

此外,请确保在支持它的浏览器中执行此操作(Firefox 68不起作用,但Chrome 84起作用)

constfoo={}
//你有什么
试一试{
foo?.bar();
}捕捉(错误){
console.error(err);//TypeError:foo?.bar不是函数
}
//带?()但未定义的条
试一试{
foo?.bar?();//未被调用
}捕捉(错误){
console.error(err);//无错误
}
foo.bar=()=>console.log(“bar”);
//带()定义条
试一试{
foo?.bar?();/“bar”
}捕捉(错误){
console.error(err);//无错误

}
JavaScript是非常向后兼容的。如果您可以添加更多关于“不起作用”的详细信息,我们可能会提供帮助。现在,我们不知道这是语法错误、React兼容性错误还是其他原因。请参阅。所使用的引擎决定了可用的功能。在大多数情况下,react表示使用的浏览器的类型和版本(否则为nodejs版本、引擎类型和一般版本)。有些功能在某些浏览器上(无论版本如何)都不可用。还要注意,这意味着最终用户的浏览器是限制。有时,您可以将现代javascript功能转换为旧的、等效的javascript(如果适用),例如使用babel。这是一个完整的话题。你应该阅读javascript执行的基本知识。我使用的是google chrome
按钮。js:18未捕获类型错误:props.onClick不是函数
不是javascript语法错误,也不是缺少的功能。这看起来像是一个与您所谈论的主题完全无关的错误。您可能误解了可选链接的作用(在本例中,也可能没有)。