我使用带有InfiniteLoader
的{{1}},并且我的某些条目的索引与状态中存储的特定条件相匹配。如果用户想要浏览这些条目,我将不得不向下传递到Table
每个索引(按下按钮后)并在Table
中使用它。但是,在它传下来之后,我必须再次使它scrollToIndex
,否则如果用户向上/向下滚动null
,他将总是以指定的相同索引结束按Table
代替当前滚动位置。
除了设置状态两次,一次使用索引然后使用scrollToIndex
值之外,还有更好的方法吗?
希望我的问题很明确。
答案 0 :(得分:2)
Table
(以及Grid
和List
)也有公共方法来设置一次性滚动索引。对于Table
,方法为scrollToRow
,您只需将要传输的索引传递给它即可。也许这更符合你的喜好?
修改:如果您还需要将其传递给Table
,请回答有关如何获得InfiniteLoader
引用的后续问题:
<InfiniteLoader {...infiniteLoaderProps}>
{({ onRowsRendered, registerChild }) => (
<Table
{...tableProps}
onRowsRendered={onRowsRendered}
ref={(ref) => {
this._tableRef = ref // Store for yourself
registerChild(ref) // And pass on to InfiniteLoader
}}
>
{/* Columns ... */}
</Table>
)}
</InfiniteLoader>