【发布时间】:2019-02-23 19:04:16
【问题描述】:
我正在尝试在 reactjs 中上传文件,我想在控制台中显示,但是当我点击上传按钮时它给了我
“TypeError: 无法读取未定义的属性‘状态’”
这是我的代码:
constructor(props) {
super(props);
this.state = {
selectedFile: null
};
this.fileSelectedHandler = this.fileSelectedHandler.bind(this);
}
fileSelectedHandler(event) {
this.setState({
selectedFile: event.target.files[0]
})
}
handleUpload() {
console.log(this.state.selectedFile)
}
render() {
return (
<div class="group">
<input type="file" name="file" id="file" onChange={this.fileSelectedHandler} />
<button onClick={this.handleUpload}> Upload </button>
</div>
)
}
我收到错误消息:console.log(this.state.selectedFile)
【问题讨论】:
-
您必须在构造函数中将
handleUpload绑定到this,就像使用fileSelectedHandler方法一样。 -
在声明状态之前是不是调用了构造函数和super方法?
-
你用一半的构造函数草率地复制粘贴了你的代码
-
好吧,伙计们,我更新了忘记放构造函数和超级方法,现在我更新了代码。
标签: javascript reactjs