您需要将正确的
this(类上下文)与回调方法绑定在一起,然后只有您才能访问类的属性和方法。
可能的解决方案:
1- 使用 箭头功能 ,如下所示:
handleAddNewQuiz(event){ this.quiz = new Quiz(this.db, this.newQuizName, (err, affected, value) => { if(!err){ this.setState( { quiz : value}); } }); event.preventDefault(); };2- 或
.bind(this)与一起使用
callback method,如下所示:
handleAddNewQuiz(event){ this.quiz = new Quiz(this.db, this.newQuizName, function(err, affected, value){ if(!err){ this.setState( { quiz : value}); } }.bind(this)); event.preventDefault();};您使用的方式也将起作用,保存方法
this内部的引用
handleAddNewQuiz,如下所示:
handleAddNewQuiz(event){ let self = this; //here save the reference of this this.quiz = new Quiz(this.db, this.newQuizName, function(err, affected, value){ if(!err){ self.setState( { quiz : value}); } }); event.preventDefault();};


