处理就像反应原生一样

时间:2018-03-09 05:10:52

标签: react-native

我有一个名为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]中:我不知道我是怎么回事这样做。请帮我解决这个问题

0 个答案:

没有答案
相关问题