如何在按鈕上單擊事件時更改狀態?現在我有錯誤在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並改變它的狀態? –