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

React useTable钩子通过axios请求Spring Boot后端数据时表格偶发不显示

问题根因及修复方案

你代码里存在两处核心错误导致表格渲染异常:

  • 第一处:表头渲染的map回调没有返回值
    你在headerGroups.map的回调里使用了大括号包裹逻辑,但没有显式return tr元素,导致表头部分返回undefined,触发表格整体渲染异常。
  • 第二处:useMemo依赖项配置错误
    你声明data变量的useMemo依赖项为空数组,当接口请求完成更新product状态后,useMemo不会重新计算返回最新的product值,useTable拿到的始终是初始的空数组,自然渲染不出数据。

具体修复调整
// 1. 修正headerGroups.map的返回逻辑,将大括号改为小括号使用隐式返回,也可以保留大括号加return关键字
<thead>
  {headerGroups.map((headerGroup) => (
    <tr {...headerGroup.getHeaderGroupProps()}>
      {headerGroup.headers.map((column) => (
        <th {...column.getHeaderProps()}>
          {column.render('Header')}
        </th>
      ))}
    </tr>
  ))}
</thead>

// 2. 修正useMemo的依赖项,把product加到依赖数组中,状态更新时自动重新计算
const data = useMemo(() => product, [product])

可选排查点

如果修改后仍有偶现异常可以检查:

  • 引入的COLUMNS配置是否和接口返回的product字段完全匹配,字段名拼写、大小写是否一致
  • 确认接口返回的response.data确实是数组格式,没有被外层对象包裹

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:27:02