最近在用antd, 因为之前接触react 比较少,看到示例代码的this绑定问题,感觉很疑惑。
import { Switch, Button } from 'antd';
class App extends React.Component {
state = {
disabled: true,
}
toggle = () => {
this.setState({
disabled: !this.state.disabled,
});
}
render() {
return (
<div>
<Switch disabled={this.state.disabled} defaultChecked />
<br />
<Button type="primary" onClick={this.toggle}>Toggle disabled</Button>
</div>
);
}
}
ReactDOM.render(<App />, mountNode);
我记得 使用React.Compoent 创建React 实例的时候 函数必须手动绑定this,不然获取不到当前的实例对象,但是为什么antd 中是这么写的? 没有绑定this,也能使用?
emmmm 还有为啥 state 是直接定义的啊?
state = {
disabled: true,
}
通常不是应该定义在constructer 函数中么