For me, none of the answers above worked even though I was importing TouchableOpacity from react-native, so I had to go through the hierarchy of my Views again and again and I realized that I placed the view that contained the TouchableOpacity(s) inside (as a child of) another view that should have been a sibling view instead. So even though the view containing my touchableOpacity(ies) and its children were visible on my app because of the height I assigned to it, some of the touchableOpacities inside it were not responding to touch.
Let me try exemplifying here using code (I am assuming you can already create a functional component and a navigation stack, so I will just go from a view inside a component), please take note of the heights and heirachy:
<View style={{height:200, width:'100%', backgroundColor: 'blue'}}>
<View style={{height:400, width:'90%', backgroundColor: 'gray'}}>
<TouchableOpacity
onPress={()=>navigation.navigate("DifferentPage")}
style={{height:100, width: '90%' }}>
<Text> Please click me1 </Text>
</TouchableOpacity>
<TouchableOpacity
onPress={()=>navigation.navigate("DifferentPage")}
style={{height:100, width: '90%' }}>
<Text> Please click me2 </Text>
</TouchableOpacity>
<TouchableOpacity
onPress={()=>navigation.navigate("DifferentPage")}
style={{height:100, width: '90%' }}>
<Text> Please click me3 </Text>
</TouchableOpacity>
<TouchableOpacity
onPress={()=>navigation.navigate("DifferentPage")}
style={{height:100, width: '90%' }}>
<Text> Please click me4 </Text>
</TouchableOpacity>
<View>
</View>
Now with the above structure, all the four TOs will be visible in my app but the first and second will surely work, however when I click on the 4th or maybe even the 3rd TouchableOpacity, nothing will happen. This is because the parent view has a shorter height than the child view containing the TOs and the total heights of the TOs exceed the height of the grandparent view.
To solve this,
Solution 1: I can simply increase the height of the parent View to be ==400 or >.
Solution 2: (which I used): Remove the child view and make it a sibling of the current parent View. If you want them to overlap, you can then use positioning in the styling.