账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    小程序启动报错,求一个排查方法
    20
    0

    小程序报错

    Expected updated data but get first rendering data;Expected updated data but get first rendering data

    Error: Expected updated data but get first rendering data

    在开发工具上会二次渲染,但是在手机上就不能了,而且这个报错是时有时无的,求大神分享一下报错的原因,该如何排查呢

    在网上也有人遇见同样的问题了

    解决方案:在app.js中还没有给globalData赋值时却提前跳转到了调用globalData数据的页面,所以导致渲染失败,个人建议做个引导或加载页面,给数据一个缓冲的过程;

    我在App.js里的代码

    App({
       onLaunch: function () {
         this .getOpenid().then(()=>{
             return that.setAdmin()
         })
       },
       getOpenid: function () {
           var that = this
           return new Promise( function (resolve, reject) {
               wx.getStorage({
                   key: 'openid' ,
                   success: function (res) {
                      that.globalData.openId = res.data
                      return resolve( 'app.js login success' )
                   },
                   fail: function () {
                       wx.login({
                           success: res => {
                               var code = res.code; //返回code
                               var appId =
                               var secret =
                               wx.request({
                                   url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' + code + '&grant_type=authorization_code' ,
                                   data: {},
                                   header: {
                                       'content-type' : 'json'
                                   },
                                   success: function (res) {
                                       wx.setStorage({
                                           key: "openid" ,
                                           data: res.data.openid
                                       })
                                       that.globalData.openId = res.data.openid
                                       return resolve( 'app.js login success' )
      
                                   }
                               })
                           }
                       })
                   }
               })
           })
       },
       setAdmin: function () {
           var that = this
           return new Promise( function (resolve, reject) {
               wx.request({
                   url: 'http://132.232.22.140:8889/api/club/adminComfirm' ,
                   method: 'post' ,
                   data:{
                       id:that.globalData.openId
                   },
                   header:{
                       "content-type" : 'application/json'
                   },
                   success: function (res){
                       if (res.data.code ==300){
                           wx.reLaunch({
                               url: '../../pages/findpage/index' ,
                           })
                       }
                         if (res.data.code == 200){
                             that.globalData.myclub = res.data.clubnumber
                             that.globalData.myname = res.data.name
                             that.globalData.adminOn = true
                             wx.reLaunch({
                                 url: '../../pages/index/index' ,
                             })
                         }
                   }
               })
           })
       },
       globalData: {
         userInfo: null ,
         openId: null ,
         myclub: null ,
         myname: null ,
         adminOn: false ,
         findClub: null ,
         findClubNumber: null
       }
    })
    

    因为之前就遇见过页面初始化完成之后没有得到数据,所以我在首页设置的是一个空页面

    app.json

    "pages" : [
             "pages/midware/index" ,
             "pages/index/index" ,
             "pages/findpage/index" ,
             "pages/signup/index" ,
             "pages/join/index" ,
             "pages/option/index" ,
             "pages/details/index" ,
             "pages/setting/index" ,
             "pages/memo/index"
         ],
    

    第一个就是空页面,然后主页面的选择在上面App.js里面来判断的,按道理来说,在页面初始化过程中除了对globalData进行赋值之外没有任何取值的操作呀

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 路過 普通会员 1楼

      小程序启动报错,可以通过以下步骤进行排查:

      1. 检查错误信息:小程序启动时,可能会显示一些错误信息,这些信息可以帮助我们定位问题。

      2. 使用调试工具:小程序开发工具提供了调试功能,可以让我们逐步执行代码,查看变量的值,找出问题所在。

      3. 查看错误日志:小程序运行时,通常会生成一些错误日志,这些日志可以帮助我们了解小程序的运行情况。

      4. 检查代码:如果你是开发者,那么最直接的方法就是检查你的代码,看看是否有什么可能导致报错的地方。

      5. 使用第三方工具:有些第三方工具可以帮助我们排查小程序的错误,比如微信开发者工具、QQ开发者工具等。

      6. 阅读开发者文档:小程序开发者文档中通常会列出常见错误和解决方案,你可以参考这些信息。

      7. 寻求社区帮助:如果你无法解决问题,那么可以尝试在微信开发者论坛或者QQ开发者论坛等社区寻求帮助。

      以上就是小程序启动报错的排查方法,希望对你有所帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部