我将.js文件更改为打字稿文件.tsx。我在文件中定义了以下功能:
function MyCard(param1: ObjectDto, toggleFunction: any) {}
我正在另一个这样的.tsx文件中使用此功能
<MyCard param1={param1Value} toggleFunction={myToggleFunction} />
但是我收到以下错误:
类型'{param1:ObjectDto; toggleFunction:(索引:任何)=>无效; }'是
不可分配给'IntrinsicAttributes&ObjectDto'类型。属性
类型'IntrinsicAttributes&ObjectDto'上不存在'param1'。
在更改为Typescript格式之前,此方法运行良好。
我该如何解决打字稿?
最佳答案
组件只有一个参数是props
对象,因此您的函数应如下所示:
function MyCard(props: { param1: ObjectDto, toggleFunction: any }) {}
类型系统正在尝试将属性与函数的第一个参数匹配,该参数的类型为
ObjectDto
。这就是为什么你会出错不可分配给'IntrinsicAttributes&ObjectDto'类型