Реагировать на собственное push-уведомление о проблеме с регистрацией - PullRequest
0 голосов
/ 16 февраля 2019

Я получаю токен, но не могу установить его в состояние или вызвать какую-либо функцию из метода 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) 

        }
    });

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Предполагая, что у вас есть структура компонентов, подобная этой,

  state = {}

  configurePushNotifications() {
    PushNotification.configure({ .... });
  }

  sendTokenTOServer() {}

Поскольку вы хотите сослаться на метод родительской области видимости, вам нужно присвоить this, как показано ниже, а затем использовать его, потому что this внутри метода onRegister ссылается на область объекта аргумента, переданную функции PushNotification.configure().

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

        that.setState({token:token.token})
        that.sendTokenTOServer(token.token) 

      }
   });
}
0 голосов
/ 16 февраля 2019

Попробуйте

onRegister: (token)=> this.setState({token:token.token}),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...