React Native Expo Flatlist 拉动刷新手势在 iOS 上不会触发,但在 Android 上工作正常

发布于 2025-01-14 23:31:31 字数 891 浏览 0 评论 0原文

我有一个在 flex: 1 视图中渲染的 flatlist 组件,它不会在 iOS 上执行拉动刷新。手势本身不起作用,因为列表拒绝被下推,但在 Android 上运行良好。

这是我的平面列表代码,也是屏幕中的唯一代码。

<FlatList<any>
style={{
    flex: 1,
    // marginTop: 10,
}}
contentContainerStyle={{ flexGrow: 1 }}
showsVerticalScrollIndicator={false}
showsHorizontalScrollIndicator={false}
data={ordersDetails?.docs}
keyExtractor={(item) => item._id}
renderItem={renderItem}
bounces={false}
refreshControl={
    <RefreshControl
        refreshing={loading}
        onRefresh={() => {
            fetchOrders(getOrdersListRefreshing);
        }}
    />
}
initialNumToRender={10}
onEndReachedThreshold={0.01}
onEndReached={() => {
    fetchOrders(getOrdersListNoLoading);
}}
removeClippedSubviews
maxToRenderPerBatch={5}
updateCellsBatchingPeriod={200}/>;

renderItem 只是一个文本组件。

抱歉,我对 React Native 有点陌生。

提前致谢!

I have a flatlist component rendered inside a flex: 1 view, that doesn't perform pull to refresh on iOS. The gesture itself doesn't work, as the list refuses to get pushed down, but works fine on Android.

Here is my flatlist code, and the only code in the screen.

<FlatList<any>
style={{
    flex: 1,
    // marginTop: 10,
}}
contentContainerStyle={{ flexGrow: 1 }}
showsVerticalScrollIndicator={false}
showsHorizontalScrollIndicator={false}
data={ordersDetails?.docs}
keyExtractor={(item) => item._id}
renderItem={renderItem}
bounces={false}
refreshControl={
    <RefreshControl
        refreshing={loading}
        onRefresh={() => {
            fetchOrders(getOrdersListRefreshing);
        }}
    />
}
initialNumToRender={10}
onEndReachedThreshold={0.01}
onEndReached={() => {
    fetchOrders(getOrdersListNoLoading);
}}
removeClippedSubviews
maxToRenderPerBatch={5}
updateCellsBatchingPeriod={200}/>;

renderItem is nothing but a text component.

Sorry I am a bit new to React Native.

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜灵血窟げ 2025-01-21 23:31:31

您可以删除样式道具和containerStyle道具并反弹

不需要flex样式的单独的flex值。而如果你把bounce设置为falseios,你就无法刷新它。

you can remove style props and containerStyle props and bounce

There is no need for a separate flex value of flex style. And if you put bounce to false ios, you can't refresh it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文