我有一个名为upvote
的变量,它们包含Upvotes的数量(例如:1,2 ..)。
在我的API中,我有这样的支票 -
const product = require("./images/like_blue.png");
const product1 = require("./images/like.png");
if(res.success == true && res.like == true){
console.log(res.upVote);
changeBlue();
this.setState({upVote:res.upVote});
} else if(res.dislike == true && res.success == true) {
this.setState({upVote:res.upVote});
changeGrey();
}
现在在我的构造函数和渲染函数
中 constructor(props) {
super(props);
this.state = {
likeImage:product1,
upVote: this.props.data.upVote
};
}
changeBlue() {
console.log("color change called blue");
this.setState(prevState => ({ likeImage: product }));
}
changeGrey() {
console.log("color change called");
this.setState(prevState => ({ likeImage: product1 }));
}
render()
{
return(
<view
<Image source={this.state.likeImage}/>
</view>
);
}
看看我的喜欢是否等于真,那么upvote值会增加,否则会减少。
所以在我的渲染函数中,我有一个视图,在此基础上,我默认设置likeimage
我想改变我的likeimage
如果喜欢== true则保持默认。这工作正常。
如果获得“喜欢”或“不喜欢”,我的图片会发生变化。但是如果我退出应用并再次打开它会有一个问题,我的更改图像看起来是同一个旧图像
注意:状态将始终加载您最初定义的图像,因为它相对于组件级别,并且在刷新时它将消失,除非保存在某处,可能在[AsyncStorage]中:我不知道我是怎么回事这样做。请帮我解决这个问题