当我要点击图片时,只有一次图片被改变,点击后我无法改变图片,所以我想知道如何在react-native中实现这个功能。
所以我想知道如何在react-native中实现like unlike这个功能,我是react-native的新手,所以请帮助我如何实现这个功能。
下面是一些代码,便于理解
selectLike = (type) => {
if(type==1){
this.setState({like:'Unlike',likeType:1})
}
}
<TouchableOpacity onPress={() => { this.selectLike(1) }}>
{this.state.likeType===1 ?
<View>
<Image source={require('../../Images/redheart.png')} style={styles.imagetriple} />
<Text style={styles.texttriple}>{this.state.like}</Text>
</View>
:
<View>
<Image source={require('../../Images/heart.png')} style={styles.imagetriple} />
<Text style={styles.texttriple}>{this.state.like}</Text>
</View>
}
</TouchableOpacity>
试着像这样,喜欢的是 true or false
state = {
like: 'Unlike',
liked: false
}
selectLike = () => {
this.setState(prevstate => {
return {
...prevstate,
like: (prevstate.liked ? 'Unlike' : 'like'), liked: !prevstate.liked
}
})
}
}
<TouchableOpacity onPress={this.selectLike}>
{this.state.liked ?
<View>
<Image source={
require('../../Images/redheart.png')
} style={
styles.imagetriple
}
/> <Text style={
styles.texttriple
} > {this.state.like} </Text> </View> :
<View>
<Image source={
require('../../Images/heart.png')
} style={
styles.imagetriple
}
/> <Text style={
styles.texttriple
}> {
this.state.like
} </Text> </View>
}
</TouchableOpacity>