【发布时间】:2020-05-02 10:36:57
【问题描述】:
我正在尝试从文件输入中迭代所有文件并遵循示例。我从上传控件中获取值,但我无法对其进行迭代。是因为它是异步的,还是浏览器中有一些保护?我可以在控制台中看到数组。
const { useState } = React;
function App() {
const [files, setFiles] = useState([]);
const selectedFilesChanged = e => {
var filesArr = Array.prototype.slice.call(e.target.files);
console.log(filesArr);
setFiles(files);
console.log(filesArr);
// console.log(e.target.files);
//alert(e);
};
return (
<div className="App">
<input type="file" multiple onChange={selectedFilesChanged} />
<div>{files.length}</div>
<div>
{files.map((file, index) => (
<div key={index}>dfsdf</div>
))}
</div>
</div>
);
}
ReactDOM.render(<App />, document.body);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.13.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.13.1/umd/react-dom.production.min.js"></script>
【问题讨论】:
标签: javascript reactjs react-hooks use-state filelist