this.state.file.name 不呈现为反应元素

this.state.file.name not rendering as a react element

我有一个拖放字段(称为 react-dropzonesetState of a file

我希望 file.name 在浏览器中呈现。

经过测试,它没有产生任何错误或结果。我可以让其他状态以正常方式呈现。有什么建议吗?

代码:

class Home extends Component {
state = {
fileName: {}
};

handleOnDrop = file => {
this.setState({ file });   
};

render() {
return (
<div>
<Dropzone onDrop={this.handleOnDrop} </Dropzone>

<h3>{this.state.file.name}</h3>

</div>
);}}

export default Home;

谢谢!

编辑:答案是我试图将一个完整数组传递给一个未设置为获取数组的值。在这种情况下,我需要将单个元素(文件名)从文件数组传递到状态。

onDrop returns 接受文件的数组。

handleOnDrop: (acceptedFiles) => {
  acceptedFiles.forEach(file => {
    console.log(file.name);
  })
}

Docs

这可能不是答案,我不知道您是否粘贴了整个代码,但是您的 Dropzone 组件中缺少结束标记。

沙盒演示对我有帮助