React native 如何在平面列表高度发生变化时使其滚动到底部

React native 如何在平面列表高度发生变化时使其滚动到底部,react-native,React Native,我正在react native中构建一个聊天功能,顶部是一个扁平列表,其中包含消息,底部是一个用户响应区域: __ | | - FlatList with messages |__| |__| - ResponseArea ResponseArea在收到每个消息后从底部向上滑动,在用户提交响应后滑出(向下) 滑入/滑出动画通过使用ResponseArea主容器的heightstyle属性的Animated.Value变量来完成。这样,FlatList也相应地增长/收缩 然而,问题是,当

我正在react native中构建一个聊天功能,顶部是一个扁平列表,其中包含消息,底部是一个用户响应区域:

 __
|  |  - FlatList with messages
|__|
|__|  - ResponseArea
ResponseArea
在收到每个消息后从底部向上滑动,在用户提交响应后滑出(向下)

滑入/滑出动画通过使用
ResponseArea
主容器的
height
style属性的
Animated.Value
变量来完成。这样,
FlatList
也相应地增长/收缩

然而,问题是,当
平面列表
有足够的项目可滚动时,在
响应ea
滑入后,它会保持在稍微向上滚动的位置(最新的项目隐藏在下面)。您可以在屏幕截图上看到此效果:

我的代码大致如下所示:

。。。
const flatListRef=useRef(null);
...
}
onContentSizeChange={()=>flatListRef.current.scrollToEnd()}
/>
...
const styles=StyleSheet.create({
屏幕容器:{
弹性:1,
},
内容:{
flexGrow:1,
justifyContent:“柔性端”,
对齐项目:“拉伸”,
},
});
有没有办法使
平面列表在缩小时不断向下滚动,为
响应ea
腾出空间(以便底部的消息始终可见)