如何在按钮上单击事件时更改状态?现在我有错误在for循环中更改状态
遗漏的类型错误:this.setState不是一个函数
我知道,我不能在这里使用this.setState,但我不明白我应该在哪里做绑定
class Popup extends React.Component {
constructor(props){
super(props);
this.state = {opened: false};
}
componentDidMount(){
var popupOpenBtn = document.querySelectorAll('[data-popup]');
popupOpenBtn.forEach(function(item) {
item.addEventListener("click", function(){
this.setState({
opened: true
});
})
});
}
这是按钮,执行console.log(本) – epascarello
从来没有直接发生变异this.state,如调用的setState()之后可以代替你做的突变。将this.state视为不可变的。 – hakiko
是的,你是对的。但是,我怎么能到Popup并改变它的状态? –