gpt4 book ai didi

react-native - 可按在 react 原生 android 中不起作用

转载 作者:行者123 更新时间:2023-12-04 13:10:26 27 4
gpt4 key购买 nike

描述
当可按下组件的子组件被按下时(例如图像),传递给 onPress prop 的函数不会在 android 上执行。在 iOS 上按预期工作。
react native 版本:
0.63.2
重现步骤

  • 开启新的世博小吃
  • 创建一个作为其他组件(文本或图像)的父级的 Pressable 组件
  • 设置 onPress Prop 以调用具有视觉效果的函数。 (就像警报一样)
  • 切换到 android 选项卡,然后单击“点击播放”

  • 预期成绩
    调用该函数并触发效果(警报)
    小吃、代码示例、屏幕截图或存储库链接:
    https://snack.expo.io/@razorshnegax/6c7be3
    代码示例:
    import React from 'react';
    import { View, Pressable, Image, Alert } from 'react-native';

    export default class Index extends React.Component {
    render() {
    // The onPress function fires in iOS, but not android
    return (
    <View>
    <Pressable onPress={() => {Alert.alert("Yeep")}}>
    <Image source={require('./greatknight.png')} style={{
    // So that the image is more centered
    top: 100,
    left: 100
    }}/>
    </Pressable>
    </View>
    );
    }
    }


    最佳答案

    由于造型原因,Pressable组件未放置在 Image 后面.
    您可以通过向 Pressable 组件添加颜色来查看这一点。
    pressable at the top mis-aligned with image
    对此的解决方法是设置 Pressable 组件的样式,以便图像组件对齐并且事件冒泡通过。
    我不确定为什么事件不会在 Android 上冒泡,因为它应该基于组件层次结构。

    关于react-native - 可按在 react 原生 android 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66128873/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com