在Create-React-App中键入具有解构分配参数的函数时出现意外令牌

时间:2019-03-14 08:01:57

标签: javascript reactjs typescript create-react-app

例如,我目前正在尝试为函数的类型定义类型,该函数的参数实现了解构性assgnment语法

type somefunc = ({name} : {name: string}) => boolean;

这给了我以下编译时错误:

  

./ src / App.tsx语法错误:/apps/src/App.tsx:意外的令牌,   预期的“)”(9:24)

它突出显示:{name}之间的{name: string}上的错误。但是,我知道这是为函数键入解构分配参数的预期方法。

我的节点版本是node v10.13.0,而我的react-scripts版本是react-scripts v2.1.1,它应该是最新的。

我如何使编译器理解这种语法?

1 个答案:

答案 0 :(得分:1)

如果要在函数类型的声明中键入参数,则应这样写:

=>

它说,函数(boolean)返回一个{...},并接受类型为对象name的一个参数,并带有类型为string的属性const myfn: somefunc = ({name}) => { console.log('Name: ', name); return true; } myfn({name: 'John'});

然后您可以在函数的定义中使用解构:

select trunc(date '2019-03-13', 'iw') + 4 from dual;
相关问题