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

React DataTable报TypeScript错误:Parameter 'row'隐式具有'any'类型

解决React数据表格中TypeScript隐式any类型错误

这个错误是因为TypeScript无法自动推断row参数的类型,默认将其视为any,而在严格类型检查模式下,隐式any是不被允许的。以下是两种实用的解决方式:


方法1:直接给row参数显式指定类型

先定义表格数据对应的类型接口,比如假设你的数据是影视条目:

// 定义数据类型接口
interface Movie {
  title: string;
  year: number;
}

然后在selector函数中给row标注类型:

const columns = [
  {
    name: 'Title',
    selector: (row: Movie) => row.title,
  },
  {
    name: 'Year',
    selector: (row: Movie) => row.year,
  },
];

方法2:给columns数组定义通用列类型(更规范)

如果使用第三方数据表格库(比如react-data-table-component),可以直接导入库提供的Column类型;如果是自定义表格,也可以自己定义通用列类型:

// 自定义通用列类型(或从第三方库导入)
interface Column<T> {
  name: string;
  selector: (row: T) => string | number; // 根据实际返回值调整类型
}

// 定义数据类型
interface Movie {
  title: string;
  year: number;
}

// 给columns数组指定类型,row会自动推导为Movie类型
const columns: Column<Movie>[] = [
  {
    name: 'Title',
    selector: row => row.title,
  },
  {
    name: 'Year',
    selector: row => row.year,
  },
];

额外建议

同时给表格的数据源数组也指定对应类型,保证类型一致性:

const rows: Movie[] = [
  { title: '盗梦空间', year: 2010 },
  { title: '星际穿越', year: 2014 },
];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:18:21