items.map:参数 'item' 隐式具有 'any' 类型
items.map: Parameter 'item' implicitly has an 'any' type
我正在尝试通过为自己创建一个简单的应用程序来学习使用 Typescript 的 Ionic React。
此时'我正在尝试从数组中动态填充 IonSegment,相关代码如下所示:
const [items, setItems] = useLocalStorage([{ id: 0, value: 'Item 0' }, { id: 1, value: 'Item 1' }, { id: 1, value: 'Item 1' }], [{ id: 0, value: 'An Error Occurred' }]);
....
<IonSegment color="brand" onIonChange={ ....... } value={sensor} id="segSensor">
{items.map(item => {
return (
<IonSegmentButton key={item.id}>
<IonLabel>{item.value}</IonLabel>
</IonSegmentButton>
)
})}
</IonSegment>
编译失败,输出:
Parameter 'item' implicitly has an 'any' type.ts(7006)
所以,我知道该项目需要声明一个类型,但我尝试了以下但没有成功:
{items.map(item:any => {
return (
{items.map(<any>item => {
return (
如何声明项目的类型?
谢谢
很简单,您必须将您的输入括在括号中,如
items.map((item: any) => {})
您可以做的另一件事是进入 tsconfig.json
文件并将 noImplicityAny
设置为 false。如果某些内容具有隐式 any
类型,这将阻止 TypeScript 对你大喊大叫。
您在声明类型时缺少箭头函数中的括号:
{items.map((item: any) => {
return (
items.map((item: any) => { ...
可能问题也出在 useLocalStorage 类型上,也许您必须为初始状态创建一个 type/interface
useLocalStorage<MyLocalStorageType>( ...
那样就可以发挥TS的全部威力了
我正在尝试通过为自己创建一个简单的应用程序来学习使用 Typescript 的 Ionic React。
此时'我正在尝试从数组中动态填充 IonSegment,相关代码如下所示:
const [items, setItems] = useLocalStorage([{ id: 0, value: 'Item 0' }, { id: 1, value: 'Item 1' }, { id: 1, value: 'Item 1' }], [{ id: 0, value: 'An Error Occurred' }]);
....
<IonSegment color="brand" onIonChange={ ....... } value={sensor} id="segSensor">
{items.map(item => {
return (
<IonSegmentButton key={item.id}>
<IonLabel>{item.value}</IonLabel>
</IonSegmentButton>
)
})}
</IonSegment>
编译失败,输出:
Parameter 'item' implicitly has an 'any' type.ts(7006)
所以,我知道该项目需要声明一个类型,但我尝试了以下但没有成功:
{items.map(item:any => {
return (
{items.map(<any>item => {
return (
如何声明项目的类型?
谢谢
很简单,您必须将您的输入括在括号中,如
items.map((item: any) => {})
您可以做的另一件事是进入 tsconfig.json
文件并将 noImplicityAny
设置为 false。如果某些内容具有隐式 any
类型,这将阻止 TypeScript 对你大喊大叫。
您在声明类型时缺少箭头函数中的括号:
{items.map((item: any) => {
return (
items.map((item: any) => { ...
可能问题也出在 useLocalStorage 类型上,也许您必须为初始状态创建一个 type/interface
useLocalStorage<MyLocalStorageType>( ...
那样就可以发挥TS的全部威力了