使用react-dropzone(
https://www.npmjs.com/package/react-dropzone)并将文件记录到控制台,但无法获取图像预览以填充状态更改.知道我做错了什么吗?
export default class JoinForm extends Component { constructor(props) { super(props) this.state = { imageFiles: [] } } onDrop(imageFiles) { this.setState({ imageFiles: imageFiles }) console.log(imageFiles) } render() { return( <form className='join-form' ref='joinForm' autoComplete='off'> <Dropzone onDrop={this.onDrop} className='dropzone' activeClassName='active-dropzone' multiple={false}> <div>Drag and drop or click to select a 550x550px file to upload.</div> </Dropzone> {this.state.imageFiles.length > 0 ? <div> <h2>Uploading {this.state.imageFiles.length} files...</h2> <div>{this.state.imageFiles.map((file) => <img src={file.preview} /> )}</div> </div> : null} </form> ) }
};
正确答案:成为一个假人,忘了绑这个.
<Dropzone onDrop={this.onDrop.bind(this)} //<= Here className='dropzone' activeClassName='active-dropzone' multiple={false} style={imageUploadStyle}> <div>Drag and drop or click to select a 550x550px file to upload.</div> </Dropzone>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。