constructor(props) {
super(props);
this.render = this.render.bind(this);
this.state = {
items: this.props.items,
disabled: true
};
}
constructor(props) {
super(props);
this.render = this.render.bind(this);
this.state = {
items: this.props.items,
disabled: true
};
}
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
答
你这个 bind 是多余的,因为 render 方法是React加载时自己调的, this 本来就是 component 实例
需要的情况
当使用 es6 的 class 的写法来写 component 时,事件绑定中的this会指定当前标签的props, 这时需要使用 这种 bind 绑定到 component,以便在回调中使用 this 的方法比如
setState
,参考 Autobinding怎么不用 bind
如果你用 babel 的话可以添加安装这个 transform-class-properties,(或者react提供的create-react-app,默认已经包含了)
写法就变成