Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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
在TypeScript中解析生成的方法声明_Typescript - Fatal编程技术网

在TypeScript中解析生成的方法声明

在TypeScript中解析生成的方法声明,typescript,Typescript,使用TypeScript,在Visual Studio代码中,我从React应用程序的渲染方法中的以下行开始: <button className="btn btn-outline-primary" onClick={this.load}>Load</button> 我找不到这种声明风格的文档,也无法从思想上对其进行解析 |未定义的{throw…}在做什么 无效是什么意思?我假设这意味着该方法返回void,但是如果我不在方法体中返回某些内容,就会得到一个错误 这种声

使用TypeScript,在Visual Studio代码中,我从React应用程序的渲染方法中的以下行开始:

<button className="btn btn-outline-primary" onClick={this.load}>Load</button>
我找不到这种声明风格的文档,也无法从思想上对其进行解析

  • |未定义的{throw…}
    在做什么
  • 无效是什么意思?我假设这意味着该方法返回
    void
    ,但是如果我不在方法体中返回某些内容,就会得到一个错误

这种声明风格被称为我可以进一步研究的特定声明风格吗?

答案在你的问题中

您可以阅读“方法未实现”

这意味着加载函数未定义,您需要检查它是否已写入代码中的某个位置,或者是否要写入它。

load()
方法必须返回事件处理程序函数或未定义

如果返回函数,则signutare必须:

(事件:React.MouseEvent)=>无效
否则

未定义
事件处理程序函数用括号括起来的原因是为了将其与未定义的
结果分开。如果没有额外的括号,
load()
的结果类型将是返回以下内容的事件处理程序:

…=>void |未定义
大括号就是
load()
方法的实现:

load(){
//尚未实现。实现将替换引发异常。
}

首先让我们移除TS

load() {
    throw new Error("Method not implemented.");
}
这只是正常的JS部分。现在,在类型中向后喷洒:

load(): (event) => void {
    throw new Error("Method not implemented.");
}
this.load
是一个带有返回void的事件参数的函数。让我们把它提取出来:

type LoadFunction = (event) => void
load(): LoadFunction | undefined {
    throw new Error("Method not implemented.");
}
this.load
要么是
LoadFunction
要么是
未定义的

type LoadFunction = (event) => void
load(): LoadFunction | undefined {
    throw new Error("Method not implemented.");
}