我有这个React Class component
,在这里我无法获得Button文本从on
变为off
import React from 'react';
import ReactDOM from 'react-dom';
class Toggle extends React.Component {
constructor(props) {
super(props);
this.state = {
on: true
}
}
handleClick = () => {
// todo
this.setState((prevState) => {
on: !prevState.on
})
}
render() {
const {
on
} = this.state;
return ( <
button onClick = {this.handleClick} >
{
on ? "On" : "Off"
} < /button>
);
}
}
ReactDOM.render( <
Toggle / > ,
document.getElementById('root')
);
我认为每次单击按钮都会看到以前的状态并会更新。
答案 0 :(得分:1)
您只是缺少一些括号。如果要隐式返回对象,则必须放置它们。
handleClick = () => {
this.setState(prevState => ({
on: !prevState.on
}));
};
检查结果here