【发布时间】:2018-05-17 23:30:58
【问题描述】:
在这个组件中,如果它不是箭头函数,我无法通过 this.functionName 调用 render 方法中的函数。但是,我可以在箭头函数和常规函数中有效地调用 this.setState。为什么像这样的 React 组件中的“this”在某些情况下是不同的,但在其他情况下却是一样的?
import React from 'react';
class Address extends React.Component {
state = {
fullAddress: "5001"
}
componentDidMount() {
this.setState({
fullAddress: "hello"
})
}
hello = () => {
this.setState({
fullAddress: "hello1"
})
}
logMessage() {
console.log(this.state.fullAddress);
}
render() {
return (
<div className="address">
{this.state.fullAddress}
<input type="button" value="Log" onClick={this.hello} />
</div>
);
}
}
export default Address;
【问题讨论】:
-
了解更多关于
this和react中的箭头函数stackoverflow.com/questions/47623658/…
标签: javascript reactjs ecmascript-6 this