React Native - 立即设置内容位置,避免缓慢滚动

React Native - set content position instantly, avoid slow scroll

This question 指出在 ScrollView 上使用 scrollTo 时无法控制滚动速度。是否有 scrollTo 的替代方案,即立即将内容设置到新位置(没有任何动画)?

我链接到的 "you can't do it" 答案可能涵盖了这一点,但不确定,因为我不知道将内容立即设置到新位置是否算作滚动。

我使用的是 ListView,但由于它是用 ScrollView 构建的,所以我认为同样的问题适用于两者。

所述,有一个 animated 标志,您可以将其设置为 false,以避免滚动动画。我有这个,但认为它不起作用。

原来滚动很慢只是因为 ListView 中的项目是逐渐加载的,所以即使每次添加一个项目时即时滚动看起来仍然像渐进滚动。

为了解决,我将 ListView 的 pageSize 设置为 30(列表中的消息数)以包含在单个事件循环中加载所有 ListView 的项目,从而获得单个滚动跳转,而不是渐进滚动。

<ListView dataSource={messagesDataSource}
          renderRow={this._renderMessage}
          pageSize={DEFAULT_NUM_MESSAGES} />