微信小程序data数组push问题

微信小程序的data和react的state类似,但是在对数组进行修改得时候,我尝试用react那样的方式,发现不能正常修改数组:

wx.onSocketMessage(function(data){
            console.log(data.data);
            that.setData({
                messages: that.data.messages.push(data.data)
            });
            console.log(that.data.messages)
        });

data始终是1,请问这是怎么回事呢?

阅读 27.2k
2 个回答

messages: that.data.messages.push(data.data) 这句有问题。不支持push。只能通过setData

你的代码写的有问题,正确应该这样:
wx.onSocketMessage(function(data) {

    console.log('收到服务器内容:' + data.data)
    var message = JSON.parse(data.data);
    that.data.message.push(message);
    //保存数据
    that.setData({
       message: that.data.message
    });
  })
  
  
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题