有没有办法通过 react-virtualized 将 ref 设置为 List ?
Posted
技术标签:
【中文标题】有没有办法通过 react-virtualized 将 ref 设置为 List ?【英文标题】:Is there a way to set a ref to List with react-virtualized? 【发布时间】:2021-02-14 00:07:21 【问题描述】:我正在尝试通过使用 ref 来引用 react-virtualized 中的可滚动列表。但是我的 ref 总是将它的当前属性显示为未定义。有谁知道如何将 ref 与 react-virtualized List 一起使用?
这是我目前正在做的事情,但 listRef.current 始终未定义:
const listRef = useRef()
<List
width=350
height=400
rowCount=listsprings.length
rowHeight=100
rowRenderer=rowRenderer
style= outline: 'none'
ref=listRef
/>
【问题讨论】:
【参考方案1】:您必须使用传递回调,因为它使用LegacyRef。
const listRef = useRef()
<List
ref=(ref) => listRef.current = ref
width=350
height=400
rowCount=listsprings.length
rowHeight=100
rowRenderer=rowRenderer
style= outline: 'none'
/>
【讨论】:
此评论可能已过时,因为ref=listRef
适用于 9.21.x【参考方案2】:
当你使用 ref 时,你应该关心 "listRef.current" 而不仅仅是 "listRef"
【讨论】:
以上是关于有没有办法通过 react-virtualized 将 ref 设置为 List ?的主要内容,如果未能解决你的问题,请参考以下文章
如何滚动到通过 react-virtualized 呈现的 React 元素?
react 分页器 基于react-virtualized组件的分页器
React-virtualized 中对 registerChild 的 CellMeasurer 支持
React-virtualized - 是不是可以在窗口调整大小时更新 rowHeights?