1

我使用react-native-web创建了一个简单的Web 应用程序源代码) ,屏幕顶部的a和 a使用我的组件上的'sy 偏移量进行更新。在 Chrome 中一切正常,但是当我在 Android 4.3 模拟器的股票浏览器上运行它时,有两个问题:ScrollViewTextScollViewsetState

  1. 当滚动结束时,我得到一个0 的onScroll事件contentOffset.y在此处输入图像描述

  2. 当滚动结束时,有时 ScrollView 会跳回其内容的顶部: 在此处输入图像描述

它在 Chrome 上正常工作:

在此处输入图像描述

如果我删除setState调用它可以防止这个问题发生(但是我无法跟踪我想要做的滚动偏移)。此外,我确保它shouldComponentUpdate已实现,因此它不会重新渲染ScrollView.

我不想在 react-native-web repo 上提出问题,因为作者说它不会正式支持 Android < 4.4。我不清楚这是否是在旧浏览器上运行的 React 或 react-native-web 的问题。请注意,要让它在 Android 4.3 上呈现,我必须使用react-native-web 的这个分支

更新:经过更多的挖掘,我怀疑这是 react-native-web 的一个错误,因为如果我只使用View带有一些样式的纯文本使其像ScrollView. 会不会是 React 在这些旧的 Android 浏览器上存在错误?如果我找到一些时间,我会尝试创建一个没有 react-native-web 的带有 bug 的测试 web 应用程序。

4

0 回答 0