【发布时间】:2019-12-06 11:41:02
【问题描述】:
我很难将 react 类组件转换为钩子。 我已经有一段时间没有玩 react 了,所以我无法掌握它。
我的代码试图做的是上传图像并将其放入 Firebase 存储并显示它。 它适用于类组件,但我无法将它们转换为钩子。 有人可以帮我吗???
import React, {Component} from 'react';
import fire from '../config/Fire';
import FileUploader from 'react-firebase-file-uploader';
import firebase from 'firebase';
class Fileupload extends Component {
state = {
image: '',
imageURL: '',
progress: 0
}
handleUploadStart = () => {
this.setState({
progress: 0
})
}
handleUploadSuccess = filename => {
this.setState ({
image: filename,
progress: 100
})
fire.storage().ref('avatars').child(filename).getDownloadURL()
.then(url => this.setState({
imageURL: url
}))
}
render() {
console.log("this.state", this.state)
console.log("this.state.imageURL",this.state.imageURL)
return (
<div className="App">
<h2>file upload and load</h2>
<FileUploader
accept="image/*"
name='image'
storageRef={fire.storage().ref('avatars')}
onUploadStart = {this.handleUploadStart}
onUploadSuccess = {this.handleUploadSuccess}
/>
<div>
<h4>show image</h4>
<img src={this.state.imageURL} />
</div>
</div>
);
};
}
export default Fileupload;
【问题讨论】:
标签: javascript reactjs firebase firebase-storage