You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript函数解构入参columns、data隐式具有any类型报错如何解决

报错原因

TypeScript 无法自动推导columns和data两个入参的类型,触发了TS默认的隐式any类型校验规则。

解决步骤

前置依赖确认

  • 如果你使用的是 v7 版本的react-table,需要先安装类型依赖:npm i @types/react-table -D
  • 如果你使用的是 v8 及以上版本的@tanstack/react-table,库本身内置了类型定义,无需额外安装。

完整代码适配示例

首先定义你的表格行数据的实际业务类型,再给函数参数标注类型、给useTable绑定泛型即可:

import { useTable, type Column } from 'react-table'

// 1. 按你实际的表格行字段定义类型,此处为示例可自行修改
interface Contact {
  id: number
  name: string
  email: string
  phone: string
}

// 2. 给函数入参明确标注类型
function ContactProps({
  columns,
  data
}: {
  columns: Column<Contact>[]
  data: Contact[]
}) {
  // 3. useTable传入Contact泛型绑定行数据类型
  const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } =
    useTable<Contact>({
      columns,
      data,
    })

  // 后续表格渲染逻辑...
}

临时解决方案(不推荐,会丢失类型校验和提示)

如果只是临时调试不想定义完整类型,可以直接给参数标注为any数组:

function ContactProps({ columns, data }: { columns: any[]; data: any[] }) {
  // 原有逻辑...
}

内容的提问来源于stack exchange,提问作者Ivan Vettoretto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:24:03