对于我正在处理的项目,我需要创建一个组件,用户可以在其中将条目添加到处于状态的数组中,并SectionList
显示这些条目。此外,我需要 SectionList 在输入后立即向下滚动到最新条目。请查看此小吃的示例
添加新条目后,列表本身会显示所有条目和更新,但是一旦列表包含的内容超出屏幕可以显示的范围,它只能向下滚动到倒数第二个,我真的需要滚动到最后一个。
我尝试了很多东西,包括等待 setState,定义 contentContainerStyle,将整个东西转换为VirtualizedList
and ScrollView
,我能想到的一切,但我根本无法让它滚动到最后一个条目。
问题:如何让我的 SectionList 滚动到当前超出 SectionList 组件范围的最后一项?
更新
我知道这个问题是由SectionList
调用 scrollToLocation 时不包含该项目引起的。解决方案的关键似乎是等待列表的重新渲染
更新 2 SetState 有一个回调也不能解决这个问题。但是,此评论中的解决方案有效。它的问题是它只适用于 .js 文件,而我正在整个项目中使用 .tsx 文件。我怎么能克服这个?