React native 触摸式不透明度按钮,内有图标';t在空白处触发

React native 触摸式不透明度按钮,内有图标';t在空白处触发,react-native,react-native-android,expo,native,React Native,React Native Android,Expo,Native,我制作了一个组件,用于使用TouchableOpacity制作ImageButton。在里面,我通常会放一个字体和一条文字。问题是,只有我按下按钮的中心(右上方),按下按钮才会触发。 另一个问题,但我认为它与第一个问题有关,就是如果我按下中间的图标,按下的动画不会触发 重述一下: 如果我没有单击按钮中的图标,例如按钮的空白处,我会看到按下动画,但不会触发onPress 如果我单击按钮中的图标,例如字体awesome,我看不到按下动画,但会触发onPress 组成部分: import React

我制作了一个组件,用于使用TouchableOpacity制作ImageButton。在里面,我通常会放一个字体和一条文字。问题是,只有我按下按钮的中心(右上方),按下按钮才会触发。 另一个问题,但我认为它与第一个问题有关,就是如果我按下中间的图标,按下的动画不会触发

重述一下: 如果我没有单击按钮中的图标,例如按钮的空白处,我会看到按下动画,但不会触发onPress

如果我单击按钮中的图标,例如字体awesome,我看不到按下动画,但会触发onPress

组成部分:

import React from 'react';
import {Style} from './IconButtonStyle';
import { View, Text, TouchableOpacity,StyleSheet} from 'react-native';

const IconButton = (props) => (
    <TouchableOpacity style={!props.style?Style.button:[Style.button,props.style]} onPress={props.onPress}>
        <View>
            {props.icon}
        </View>
        <View>
            <Text>{props.title}</Text>
        </View>
    </TouchableOpacity>
)

export default IconButton;
从“React”导入React;
从“./IconButtonStyle”导入{Style};
从“react native”导入{View,Text,TouchableOpacity,StyleSheet};
常量图标按钮=(道具)=>(
{props.icon}
{props.title}
)
导出默认图标按钮;

谢谢

好的,我刚刚意识到我搞乱了调用者组件。我将onPress放在图像上,而不是IconButton组件上。

我测试了你的代码,它看起来不错:

我能问一下-1是什么吗??