React-Native SectionList滚动到Android上看不见的项目

Jor*_*416 10 react-native react-native-sectionlist

对于我正在从事的项目,我需要创建一个组件,用户可以在其中向处于状态的数组添加条目,并SectionList显示这些条目。另外,输入后,我需要SectionList向下滚动到最新条目。请查看此小吃作为示例

列表本身会显示所有条目并在添加新条目后进行更新,但是一旦列表包含的内容超出了屏幕显示的范围,它只能向下滚动到倒数第二个,我确实需要滚动到最后一个。

我尝试了许多事情,包括等待setState,定义contentContainerStyle,将整个事情转换为VirtualizedListand ScrollView,这是我能想到的,但是我根本无法让它滚动到最后一个条目。

问题:如何使我的SectionList滚动到当前超出SectionList组件范围的最后一项?

UPDATE 我知道此问题是由于SectionList调用scrollToLocation时尚未包含该项目引起的。解决方案的关键似乎是等待列表的重新呈现

UPDATE 2 SetState的回调也无法解决此问题。但是,注释中的解决方案有效。它的问题在于它仅适用于.js文件,而我在整个项目中都使用.tsx文件。我该如何克服呢?

Jor*_*416 1

显然这是 React-Native 0.59.6 中的一个错误。

在android上,当在完成块中工作时setState,需要设置0.2秒的超时时间,之后SectionList将一直向下滚动。然而,应该存在的项目尚未渲染,有时会在 0.5 秒后出现,导致一种非常笨拙的感觉。

我在这里发布了一个问题,希望它能尽快修复