【发布时间】:2020-02-10 11:43:33
【问题描述】:
我知道这个问题已经被问过好几次了,但是我查看了答案,但找不到解决问题的方法。
我有一个非常基本的类组件,它只是加载一个外部 HTML 文件并读取其内容,但是由于某种原因,我得到 this.setState 在实际 HTML 加载后不是一个函数,我不知道为什么还没有。
这是我的代码:-
import React from "react";
class ReadHtml extends React.Component {
constructor(props) {
super(props)
this.state = {
innerText: ''
};
this.handleFileSelect = this.handleFileSelect.bind(this);
}
handleFileSelect = (evt) => {
evt.preventDefault();
var file = evt.target.files[0]; // File inputs are an array - get the first element
var reader = new FileReader();
reader.onload = function(e) {
// Render the supplied file
document.getElementById('displayPage').innerHTML = e.target.result;
this.setState({
innerText: e.target.result
});
};
// Read in the HTML file.
reader.readAsText(file);
};
render() {
return (
<div>
Select a file : <input type="file" onChange={(e) => this.handleFileSelect(e)} /><br/><br/>
<div id="displayPage">Display the Html Page here</div>
</div>
)
}
}
export default ReadHtml;
非常感谢任何帮助!
【问题讨论】:
标签: javascript reactjs