繁体   English   中英

如何在js数组映射中声明typescript类型?

[英]How to declare typescript type within a js array map?

我正在尝试使用 js 数组映射函数https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map进行以下映射

x =  state.users.map(({id, firstName, lastName}) => 
    ({id, value: `${firstName} ${lastName}`}));

但是,我收到以下打字稿错误Binding element 'X' implicitly has an any type每个属性Binding element 'X' implicitly has an any type ,例如 id、firstname 等

如果我尝试为属性分配类型,如下所示:

x =  state.users.map(({id: number, firstName: string, lastName: string}) => 
    ({id, value: `${firstName} ${lastName}`}));

这些被分配为值而不是类型。

如何正确地为地图函数中的属性分配类型?

你可以放任何:

x =  state.users.map(({id, firstName, lastName}: any) => 
    ({id, value: `${firstName} ${lastName}`}));

或使用显式类型:

x =  state.users.map(({id, firstName, lastName}: {id: string, firstName: string, lastName: string}) => 
    ({id, value: `${firstName} ${lastName}`}));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM