gpt4 book ai didi

javascript - 状态在 ReactJS 中无法正常工作

转载 作者:行者123 更新时间:2023-11-28 13:09:00 25 4
gpt4 key购买 nike

我想做的是将输入字段值存储到一个状态,然后,如果用户单击“保存”按钮或“存储”按钮,则输入字段将消失,因此编辑将是错误的。我正在尝试当用户单击“保存”按钮时检查状态长度。问题就在那里。据说是这个错误:Uncaught TypeError: Cannot read property 'state' of null,但我已经在 editData state 上存储了数据,为什么会这样,你能告诉我吗?

这里是更好理解的代码

class EditData extends Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.state = {
editData: ''
}
}
handleChange(e) {
this.setState({editData: e.target.value})
}

save() {
if (this.state.editData.length !== 0) {
this.setState({isEditing: false});
console.log(this.state.editData + 'Added on your database')
} else {
alert('Hahah Are you')
}
// console.log(this.refs.valTo.value);
}
render() {
return (
<div>
<input onChange={this.handleChange} type="text" defaultValue={this.props.data} /> <button onClick={this.save}>Save</button> <button>cancel</button>
</div>
);
}
}

最佳答案

您需要绑定(bind)handleChangesave。还要检查您是否在构造函数中初始化了 state

在构造函数中执行以下操作:

this.handleChange = this.handleChange.bind(this);
this.save= this.save.bind(this);
this.state = {};

关于javascript - 状态在 ReactJS 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44354970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com