我正在尝试为一个嵌套在React Native FlatList中的图像连接一个印刷处理程序 . 我已经验证了函数是通过props传递的,通过直接在我的组件中调用函数,并且工作正常 . 下面是一个简化的测试用例 . 我也尝试在图像上设置onPress,结果相同 .
const PostList = ({posts, onActLike, currentUser}) => {
return (
<FlatList
data={ posts }
keyExtractor={ (item) => item.id }
renderItem={ ({item}) => {
return (
<View>
<Image
source={ {uri: item.media.url} }
resizeMode="cover"
/>
<View>
<View
onPress={ (item) => {
onActLike(item);
} }
>
{
currentUser.likedMedia.indexOf(item.id) > -1 &&
<Image
source={ require('../assets/images/like_filled.png') }
style={ {width: 20, height: 17} }
resizeMode='contain'
/>
}
{
currentUser.likedMedia.indexOf(item.id) === -1 &&
<Image
source={ require('../assets/images/like_unfilled.png') }
style={ {width: 20, height: 17} }
resizeMode='contain'
/>
}
</View>
</View>
</View>
)
} }
/>
)
}
1 回答
View
不接受onPress
函数也不接受Image
. 您需要将视图包装在Touchable(TouchableOpacity,TouchableHighlight等)中