javascript - React 类组件中的“This”
问题描述
你能解释一下为什么我们需要在 React 类组件中我们自己声明的方法中绑定“this”吗?我明白“this”的价值取决于使用“this”的环境。然而,在下面的代码中,我们有 3 个方法——constructor()、changeText() 和 render()。为什么“this”在构造函数()和渲染()中工作得很好,但在我自己的方法中不起作用——changeText(),除非我绑定它?看了很多关于“this”的文章,还是不明白为什么我们自己的方法要绑定到“this”……</p>
class App extends React.Component {
constructor() {
super();
this.state = {
text: "Change Text",
};
this.changeText = this.changeText.bind(this);
}
changeText() {
this.setState({
text: "Text Changed",
});
}
render() {
return (
<div>
<div>
<h3>{this.state.text}</h3>
<button onClick={this.changeText}>Click Me</button>
</div>
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById("root"));
解决方案
推荐阅读
- python - 重新启动包含 matplotlib 画布的 PyQt QApplication
- python - 如何调整这个 Newton-Raphson for 循环以包含我初始猜测的一系列值,以便它打印每个迭代的次数?
- javascript - 脚本 if else 语句不能自动工作
- windows - Windows Server Core 2016 RODC 一致复制问题在桌面 WIndows Server 部署中并不持久:
- visual-studio-code - VSCode中“底部面板可见性状态”的子句上下文是什么时候?
- kotlin - gradle kotlin dsl:复制项目依赖项
- python - 考虑标点符号,将太长的文本分成相似的块
- python - 如何将多个变量分配给字典
- java - 按升序对列表进行排序,出现系统越界错误
- javascript - Vue-leaflet地图叠加无限重复