reactjs - 函数 CollectionReference.add() 要求它的第一个参数是对象类型,但它是:未定义
问题描述
我想将图像存储在 firebase 存储中,并将其 URL 引用传递到 firestore。因此,我能够在存储中上传图像,但无法在云 Firestore 中传递图像 URL 引用。
import React , {Component} from 'react';
import fire from './../fire'
import Uploadimg from './Uploadimg'
class Adproduct extends Component{
geturl = (imurl) =>{
this.setState({
img:imurl
});
}
submit = e =>{
e.preventDefault()
var db= fire.firestore();
db.settings({
timestampsInSnapshots: true
});
db.collection('newproducts').add(this.State)
.then(res =>{
console.log(res.id)
this.props.submit()
})
.catch(err =>{
console.log('something went wrong',err)
})
}
takedata = e =>{
this.setState({
[e.target.name]: e.target.value
});
}
constructor(props){
super(props);
this.state ={
name:'',
productdetails:'',
size:'',
}
}
render() {
return (
<div className="container w3-padding">
<div className="row w3-padding">
<div className="col-md-6 w3-padding">
<h3 className="w3-tag w3-padding w3-center">Add New</h3>
<form className="w3-container" onSubmit={this.submit}>
<label className="w3-text-blue"><b>Name</b></label>
<input className="w3-input w3-border" type="text" name="name" value={this.state.name} onChange={this.takedata} required/>
<label className="w3-text-blue"><b>productdetails</b></label>
<input className="w3-input w3-border" type="text" name="productdetails" value={this.state.productdetails} onChange={this.takedata} required/>
<label className="w3-text-blue"><b>size available</b></label>
<input className="w3-input w3-border" type="text" name="size" value={this.state.size} onChange={this.takedata} required/>
<br/>
<Uploadimg geturl={this.geturl} />
<br/>
<button className="w3-btn w3-blue">Add</button>
</form>
</div>
</div>
</div>
);
}
}
export default Adproduct;
解决方案
如果接受的答案对您没有帮助,您可能遇到了与我相同的问题。
我通过使用打字稿传播运算符解决了这个问题:
add(wizard: Wizard): Promise<DocumentReference> {
return this.wizardCollection.add({...wizard});
}
希望这对您有所帮助。
推荐阅读
- java - 再次安装 Android Studio 后出现图标问题
- ssh - 使用 ufw 后无法访问服务器并忘记允许端口 22 进行 SSH
- c++ - C++ 协程:从最终挂起点调用“handle.destroy”是否有效?
- excel - 在 vba excel 中将日期与 DateTime.Now 进行比较
- python - Python Selenium - 禁用镀铬标签睡眠/休眠
- pandas - Pandas 中的重复测量方差分析,不同列中的因变量值
- scala - 带有 Spylon-Kernel 的 Jupyter 中 spark.implicits._ 的问题
- python - 如何从图像中删除相邻的重复像素?
- sql - 对行进行分组,同时排除特定列上的空值并聚合另一个
- typescript - TypeScript:如何初始化依赖于 T 的通用类的成员?