【react-native】TouchableOpacityでiOSでクリックしても動作しない

2024/02/14に公開

背景

react-native-elementsなどの部品を元に、TouchableOpacityのreaac-nativeのライブラリでラップして、ボタンを押下させたい要件があると思います。

問題

androidではクリックできるが、iOSではクリックできない

参考にしたリンク

https://stackoverflow.com/questions/39250449/touchableopacity-not-working-inside-an-absolute-positioned-view

綺麗ではないが、、、

{Platform.OS === 'ios' ? (
    <TouchableNativeFeedback
            onPress={() => navigation.goBack()}
            <Icon name="指定したいアイコン" type="指定したい種類" />
          </TouchableNativeFeedback>
) : (
    <TouchableOpacity
            onPress={() => navigation.goBack()}
            <Icon name="指定したいアイコン" type="指定したい種類" />
          </TouchableOpacity>
)}

本来は指定する「TouchableNativeFeedback」と「TouchableOpacity」が逆らしいが、逆では動作しなかった。そのため仕方がなくこちらで実装して動作が問題なく動きました。

Discussion