您正在调用函数
getAccountInfo()
(带括号)传递给
onClick
.你应该把它去掉括号。要访问state值,不需要将它们作为参数传递。只需阅读
this.state
在功能体中。参见修改后的代码
class SideMenu extends React.Component {
constructor(props) {
super(props);
this.state = {
inputNumber: '',
inputMessage: ''
};
this.getAccountInfo = this.getAccountInfo.bind(this)
}
getAccountInfo() {
console.log(this.state.inputNumber, this.state.inputMessage)
};
render() {
return(
<body className='SideMenuBg'>
<div className='SideMenu'>
<frame className='sideMenuBackgroundFrame'>
<input type='text' value={this.state.inputNumber} onChange={this.updateInputNumber} placeholder='Number'/>
<input type='text' value={this.state.inputMessage} onChange={this.updateInputMessage} placeholder='Message'/>
<button onClick={this.getAccountInfo}>press me</button>
</frame>
</div>
</body>
)
}
updateInputNumber(evt) {
const val = evt.target.value;
this.setState({
inputNumber: val
});
}
updateInputMessage(evt) {
const val = evt.target.value;
this.setState({
inputMessage: val
});
}