映射打字稿参数:绑定元素“列”隐式具有“任何”类型

Posted

技术标签:

【中文标题】映射打字稿参数:绑定元素“列”隐式具有“任何”类型【英文标题】:Map typescript parameter: Binding element 'columns' implicitly has an 'any' type 【发布时间】:2021-12-13 12:40:56 【问题描述】:

我的代码取自 javascript 帖子,我想在 TypeScript 中使用它,但在 function ContactProps( columns, data ) 中出现错误

错误是:

绑定元素“列”隐式具有“任意”类型。

绑定元素“数据”隐含地具有“任何”类型。

function ContactProps( columns, data ) 
  // Use the state and functions returned from useTable to build your UI
  const  getTableProps, getTableBodyProps, headerGroups, rows, prepareRow  =
    useTable(
      columns,
      data,
    );

【问题讨论】:

您需要为ContactProps 的参数提供类型。由于参数是一个对象(然后您对其进行解构),因此您需要键入 annotate 所述对象。 试试ContactProps( columns, data :any) 【参考方案1】:

这个可能会解决你的问题

 function ContactProps( columns:any, data:any ) 
  const  getTableProps, getTableBodyProps, headerGroups, rows, prepareRow  =
    useTable(
      columns,
      data,
    );

或者您可以删除声明中对“任何”类型的检查。在 tsconfig.json 文件中,您可以更改行

"noImplicitAny": false

【讨论】:

以上是关于映射打字稿参数:绑定元素“列”隐式具有“任何”类型的主要内容,如果未能解决你的问题,请参考以下文章

编译打字稿时如何防止错误“对象类型的索引签名隐式具有'任何'类型”?

查找累积和反应打字稿

反应/打字稿:参数“道具”隐含了“任何”类型错误

打字稿中迭代的索引签名

嵌套对象 -> 元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型

打字稿:如何根据对象键/值类型在 ES6 映射中创建条目