我使用新的FlatList
component并希望在生命周期方法(如componentDidMount
)中使用ScrollToIndex
(或ScrollToEnd
)。FlatList组件生命周期方法ScrollToIndex ScrollToEnd等
我有一个让我们说100个项目的数组,我不想开始渲染第一个项目,但在开始。让我们说在第50项。当FlatList
仅一次显示一个项目,它的工作根据需要与一些黑客如下所述:https://github.com/facebook/react-native/issues/13202
componentDidMount() {
let wait = new Promise((resolve) => setTimeout(resolve, 500)); // Smaller number should work
wait.then(() => {
this.refs.flatlist.scrollToIndex({index: 4, animated: true});
});
}
这个片段使得scrollToIndex
运行后一些componentDidMount
调用的毫秒。
但是,当我使用FlatList
其中视图包含3x3网格,我根本无法使它运行。当我使用scrollToIndex
并且索引超出指定的道具initialNumToRender
时,我只收到一个我无法理解的错误scrollIndex out of range $ID
。提供的数据数组包含所有的数据,例如100个项目。当我使我们成为scrollToEnd
时,它只停留在中间的某个地方而不是最后。对我来说,它看起来像某种错误,我不知道如何在初始渲染后滚动到$ X项目。你可以帮我吗?
我很感激任何形式的帮助或评论。
我在iOS和Android(仿真器和设备)上尝试了React-Native v0.43.0和v0.44.0,它总是一样的。