React native ScrollToLocation在初始安装时不工作

React native ScrollToLocation在初始安装时不工作,react-native,expo,react-native-sectionlist,React Native,Expo,React Native Sectionlist,我想在我的应用程序中添加一个SectionList,这样它就会呈现到一个特定的部分(这不是列表中的第一个部分)。在componentDidMount上调用scrollToLocation不起作用;但是,添加一个调用scrollToLocation的按钮确实可以。这有什么原因吗 这可能是由于SectionList引用造成的(我尝试了几种分配引用的方法,例如变量分配、函数分配、使用createRef等) 这里有一个链接,指向一个精简的世博会点心,以说明我的意思:。我发现最好的解决方案是使用onLay

我想在我的应用程序中添加一个SectionList,这样它就会呈现到一个特定的部分(这不是列表中的第一个部分)。在componentDidMount上调用scrollToLocation不起作用;但是,添加一个调用scrollToLocation的按钮确实可以。这有什么原因吗

这可能是由于SectionList引用造成的(我尝试了几种分配引用的方法,例如变量分配、函数分配、使用createRef等)

这里有一个链接,指向一个精简的世博会点心,以说明我的意思:。

我发现最好的解决方案是使用
onLayout
触发滚动:

scrollToInitialPosition=()=>{
this.scrollViewRef.scrollTo({y:100});
}
...
{this.scrollViewRef=ref;}}
onLayout={this.scrollToInitialPosition}
/>
请注意,还有许多其他建议使用
setTimeout
componentdiddupdate
InteractionManager
,等等。然而,使用onLayout是唯一对我有效的方法(在我看来也是最干净的方法)