React本地推送通知对注册问题



我正在获取令牌,但无法将其设置为状态或调用任何功能从OnRegister方法

 PushNotification.configure({
        onRegister: function(token) {
           alert(token.token) //works fine
       //shows an error this setState is not a function
           this.setState({token:token.token})
      //shows an error this this.sendToken.. is not a function
           this.sendTokenTOServer(token.token) 
        }
    });

假设您具有这样的组件结构,

  state = {}
  configurePushNotifications() {
    PushNotification.configure({ .... });
  }
  sendTokenTOServer() {}

由于要引用父类范围的方法,因此您需要分配this,如下所示,然后使用它,因为OnRegister方法中的this是指传递给PushNotification.configure()函数的参数对象的范围。

configurePushNotifications = () => {
   const that = this;
   PushNotification.configure({
      onRegister: function(token) {
        alert(token.token)
        that.setState({token:token.token})
        that.sendTokenTOServer(token.token) 
      }
   });
}

相关内容

  • 没有找到相关文章

最新更新