【发布时间】:2015-12-11 05:51:19
【问题描述】:
我一直在使用 React Native 和 RxJS,直到现在,每当我订阅我一直在做的 observable 时:
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));
错误似乎消失了。
这是怎么回事?
【问题讨论】:
-
你想绑定什么
this?这似乎是您只有在不使用箭头函数时才需要做的事情? -
.. 我和@azium 一起变老了。如果您编写 ()=>{},则外部作用域的
this已绑定在函数中。
标签: android ios react-native rxjs