我有以下代码。
let myapp = this;
myref.on('value', function (snapshot) {
myapp.updateUsers();
});
我试图摆脱修复范围问题的代码。我可以将其转换为 ES6 箭头函数吗?
或者有没有办法访问 react root 应用程序?
class App extends Component {}
我有以下代码。
let myapp = this;
myref.on('value', function (snapshot) {
myapp.updateUsers();
});
我试图摆脱修复范围问题的代码。我可以将其转换为 ES6 箭头函数吗?
或者有没有办法访问 react root 应用程序?
class App extends Component {}
当您在 a 内部class
并使用箭头函数时,this
将通过词法作用域将其引用绑定到实例,而不是像普通函数那样动态绑定。
因此,当您想在 中使用方法时,class
您可以class
使用this
关键字引用该实例:
someFunction = () => {this.updateUsers()}
简单示例:
class App extends React.Component {
myfunc1 = (str) => {
console.log(str);
}
myFunc2 = () => {
this.myfunc1('hi func 2')
}
render() {
return (
<div>
<button onClick={this.myFunc2}>Click Me</button>
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById("root"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>