Javascript React JS未在FileReader内的事件后更改状态
我一直试图将通过输入标记本地上传的.txt文件的内容指定为状态。我使用了文件阅读器,但是尽管文件的内容是打印的,但状态并没有根据React-dev工具而改变 代码如下:Javascript React JS未在FileReader内的事件后更改状态,javascript,reactjs,Javascript,Reactjs,我一直试图将通过输入标记本地上传的.txt文件的内容指定为状态。我使用了文件阅读器,但是尽管文件的内容是打印的,但状态并没有根据React-dev工具而改变 代码如下: handleFile = (file) => { var fileReader = new FileReader() fileReader.readAsText(file) fileReader.onloadend = function (e) { var content = e.target.result con
handleFile = (file) => {
var fileReader = new FileReader()
fileReader.readAsText(file)
fileReader.onloadend = function (e) {
var content = e.target.result
console.log(content)
this.setState={
text: content
}
}
正在此处调用函数handleFile:
<input type="file" accept='.txt' className="custom-file-input" id="customFile"
onChange={e => this.handleFile(e.target.files[0])} />
this.handleFile(e.target.files[0])}/>
非常感谢请尝试此.setState({text:content})
而不使用=
还应使用箭头函数,因为在常规函数中无法识别此函数。setState是一种方法,因此要使用此函数,应键入如下内容:
this.setState({key:value})
但这是行不通的,因为代码中的“this”是指向fileReader的链接,您需要做出反应。尝试使用箭头功能抛出正确的“this”:
非常感谢,在调用setState时没有注意到错误,也感谢您解释此操作的上下文!提示:
content=wait file.text()
fileReader.onloadend = (e)=> {
var content = e.target.result
console.log(content)
this.setState({
text: content
})
}