我正在使用React Native和RxJS,直到现在,只要我订阅了一个我一直在做的观察:
observable.subscribe(() => { this.setState({ loading: true }); }.bind(this));
但是自从我升级到React Native 0.16.0后,无论我在使用ES2015箭头符号声明的内联函数上执行bind(this),React Native都会将其作为错误进行选择.但是,当我将箭头符号更改回ES5常规函数表示法时,如下所示:
observable.subscribe(function() => { this.setState({ loading: true }); }.bind(this));
错误似乎消失了.
这里发生了什么?
当您使用箭头功能时,您已经将其绑定到该特定功能.所以:
() => {} === function() {}.bind(this)