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

如何理解react-virtualized AutoSizer的onScroll TypeScript函数签名?

AutoSizer 组件onScroll属性入参类型解释

这是TypeScript语法下的函数类型定义,包含参数解构写法和入参对象的类型约束两部分,具体结构说明如下:

  • 首先onScroll仅接收1个对象类型的入参,该对象强制包含3个固定属性:
    • scrollDirection:string类型,标识当前滚动方向,取值为horizontal(水平滚动)或vertical(垂直滚动)
    • scrollOffset:number类型,滚动条当前的偏移像素值:垂直滚动时为距离容器顶部的偏移,水平滚动时为距离容器左侧的偏移
    • scrollUpdateWasRequested:boolean类型,标识滚动触发来源:值为true时是代码主动调用滚动API触发的滚动,值为false时是用户手动操作(滚轮、拖拽滚动条等)触发的滚动
  • 类型声明开头的{ scrollOffset, scrollUpdateWasRequested }是对象解构语法,属于TS的语法糖:你在实现回调函数时可以按需取出需要的属性,不需要完整接收整个参数对象,示例用法如下:
// 仅用到scrollOffset的场景,不需要声明另外两个属性
const handleScroll = ({ scrollOffset }) => {
  // 业务逻辑
  console.log('当前滚动偏移量', scrollOffset)
}

// 组件绑定
<AutoSizer onScroll={handleScroll}>
  {/* 子组件内容 */}
</AutoSizer>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:15:03