我正在查看反应应用程序中的一段代码:
export const clickOptOutMessage = (): ClickOptOutMessage => ({
type: CLICK_OPT_OUT_MESSAGE,
});
():
做了什么?
我在谷歌搜索时遇到了麻烦,因为它只是一堆字符。
答案 0 :(得分:2)
我会尝试逐步解释(对不起,如果你已经知道除了结束之外的一切,有些人可能会学到新东西)
() => { /** function body goes here **/ }
是箭头功能
() => {}
//basically equals:
(function () {}).bind(this)
它始终具有写入的上下文。
在TypeScript中,您可以编写函数返回类型,如下所示:
function(): number {
return 2;
}
所以,现在你知道了,因为箭头函数只是另一个语法略有不同的函数 - ():TYPE只是一个返回类型!
export const clickOptOutMessage = (): ClickOptOutMessage => ({
type: CLICK_OPT_OUT_MESSAGE,
});
在您看到的代码中的某处,有一部分:
const CLICK_OPT_OUT_MESSAGE = "CLICK_OPT_OUT_MESSAGE"; // value can differ in code you observed
type ClickOptOutMessage = {
type: "CLICK_OPT_OUT_MESSAGE"
}
如您所见,
(): ClickOptOutMessage
几乎告诉返回值的类型。