我试图在反应中实现无限滚动 - 但是上升,而不是下降。
所涉及的组件是渲染日志文件,但一次只有一个偏移量。当您第一次登陆页面时,仅提取并显示最后一个偏移量,当您向上滚动时,我从我的数据库中取出上一个偏移量,将新文本添加到当前文本,然后重新渲染。
我遇到的问题是,当它重新渲染时,我丢失了我正在查看的日志的当前部分的位置,而是使用新的日志线跳得更高。
我能想到的最佳解决方案是跟踪用户在重新渲染时的位置,然后根据新的提取计算附加高度/将会是什么,然后只使用一个窗口。 scrollTop移动到正确的位置。
我希望有更简单的东西,任何人都有任何想法?
答案 0 :(得分:0)
您可以使用scrollIntoView。它会将当前选中的元素保留在视图屏幕的顶部。
componentDidUpdate = () => { if ((this.props.index == this.props.selected)) ReactDom.findDOMNode(this).scrollIntoView(); }