javascript - "TypeError: Cannot read property ' 状态 ' of undefined"

标签 javascript reactjs

<分区>

我想在 reactjs 中上传一个文件,我想在控制台中显示,但是当我点击上传按钮时,它给了我

"TypeError: Cannot read property 'state' of undefined"

这是我的代码:

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 绑定(bind)到正确的内容,要么以下面的格式定义您的函数

handleUpload = () => {
console.log(this.state.selectedFile)
}

关于javascript - "TypeError: Cannot read property ' 状态 ' of undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54845107/

相关文章:

javascript - 如何使用jquery从字符串中删除字符串直到特定字符

javascript - 我正在尝试制作一个随机单词生成器,为什么在我添加一个将数字转换为文本的开关后它不会更新 html?

javascript - react-styleguidist - 以 Component 作为 Prop 的示例 - SyntaxError : Cannot use import statement outside a module

javascript - 完全获取数据后加载状态变化

javascript - Next.js,使用随机属性而不触发 "did not match on server/client"错误

javascript - 使用 Knockout.js 绑定(bind)在表单上显示错误

javascript - Accordion 内的莫里斯图显示不正确

javascript - 查找上传到React应用程序的音频文件的持续时间/长度

javascript - 检查 Discord.js DM 是否通过

reactjs - react 导航 route.params typescript