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

react-table中setSortBy使用报错:setSortBy is not a function

解决React Table中setSortBy is not a function报错

问题根源

你没有在useTable中启用排序插件useSortBy,React Table只有在加载对应插件后,才会暴露setSortBy这类排序相关方法。

修复步骤

  1. 导入useSortBy插件
    确保代码中导入React Table的useSortBy:
import { useTable, useSortBy } from 'react-table';
  1. 在useTable中添加useSortBy插件
    修改useTable调用,把useSortBy加入插件列表:
const {
  getTableProps,
  getTableBodyProps,
  headerGroups,
  rows,
  setSortBy, // 现在可正常解构
} = useTable(
  {
    columns,
    data,
    defaultColumn,
    initialState: { pageIndex: 0 },
  },
  usePagination,
  useBlockLayout,
  useResizeColumns,
  useSortBy // 新增该行
);
  1. 验证列配置
    确保columns数组中每个列对象有唯一id(或accessor,React Table会自动将accessor作为id使用),示例:
const columns = [
  {
    id: 'name', // 必须有唯一id
    Header: '姓名',
    accessor: 'userName',
  },
  // 其他列配置...
];
  1. 确认调用逻辑
    你的点击事件逻辑本身无问题,只需保证column.id与列配置中的id对应即可:
<span onClick={() => setSortBy([{ id: column.id, desc: false }])}>🔼</span>
<span onClick={() => setSortBy([{ id: column.id, desc: true }])}>🔽</span>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 19:54:57