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

TanStack排序箭头函数onClick失效,直接调用却正常,原因何在?

TanStack Table排序点击事件无响应问题解析

这俩写法的核心区别在于有没有执行getToggleSortingHandler()返回的实际处理函数:

  1. 无响应写法的问题:
onClick={() => {
  header.column.getToggleSortingHandler();
}}

getToggleSortingHandler()本身是个「生成处理函数的函数」,调用它只会返回真正负责切换排序的事件处理函数,但你在箭头函数里只是调用了这个生成函数,没有执行它返回的那个实际函数,所以点击时啥也不会发生。

要让它生效,得把返回的函数也执行了:

onClick={() => {
  header.column.getToggleSortingHandler()();
}}
  1. 正常工作的写法:
onClick={
  header.column.getToggleSortingHandler()
}

这里直接调用getToggleSortingHandler(),拿到它返回的排序处理函数,然后把这个函数赋值给onClick。当点击事件触发时,React会自动执行这个处理函数,所以排序逻辑能正常运行。

简单说就是:第一种写法只做了「拿函数」的动作,没做「执行函数」的动作;第二种写法直接把「拿到的函数」交给了onClick,点击时会自动执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 01:02:32