我对本机做出了新的反应,想问一下在FlatList中点击按钮时如何滚动到顶部。但是,就我而言,FlatList位于子组件内部,我不知道如何传递引用。
我在父组件中尝试过createRef()并将其传递给FlatList所在的子组件。但是,仍然会出现类似 _this.flatListRef.scrollToIndex的错误
这是到目前为止我尝试过的: link expo
答案 0 :(得分:1)
尝试以下操作,
_didTapOnButton=()=>{
setTimeout(() => {
if (this.timerFlatlistRef)
this.timerFlatlistRef.scrollToIndex({
animated: true,
index: 0,
});
}, 1000);
}
_getItemLayout = (data, index) => ({
length: 24,
offset: 100 * index,
index
});
_renderItems = ({ item, index }) => {
...
...
}
...
<FlatList
ref={ref => (this.timerFlatlistRef = ref)}
style={{ flex: 1, paddingTop: 10 }}
data={dayHours}
getItemLayout={this._getItemLayout}
renderItem={this._renderItems}
keyExtractor={(item, index) => String(index)}
extraData={this.state}
/>
...