FirebaseError:函数 addDoc() 调用时数据无效。不支持的字段值
2022-01-25
7761
我尝试将帖子添加到我的 Firebase 数据库,但出现标题所示的错误(未捕获(在承诺中)FirebaseError:使用无效数据调用函数 addDoc()。不支持的字段值:未定义(在文档帖子/5TT9b7F0lkqxoivmsIiH 中的字段标题中找到))。 这是我的代码:
import React, { Component } from 'react';
import { addDoc, collection } from 'firebase/firestore';
import { db } from '../firebaseconf';
class CreatePost extends Component {
constructor(props) {
super(props);
this.state = {
setTitle: "",
setPostText: ""
};
}
sTitle = (event) => {
this.setState({ setTitle: (event.target.value) });
}
sPostText = (event) => {
this.setState({ setPostText: (event.target.value) });
}
collectionRef = collection(db, "posts");
createPost = async () => {
await addDoc(this.collectionRef, { title: this.setTitle, postText: this.setPostText });
}
render() {
return (
<div className="cpPage">
<div className="cpContainer">
<h1>Create a Post</h1>
<div className="inputGp">
<label>Title:</label>
<input
placeholder="Title..."
onChange={this.sTitle}
/>
</div>
<div className="inputGp">
<label>Post:</label>
<textarea
placeholder="Write your post..."
onChange={this.sPostText}
/>
</div>
<button onClick={this.createPost}>Add your post</button>
</div>
</div>
);
}
}
export default CreatePost;
1个回答
Firebase Firestore 不接受
undefined
作为文档字段之一的值(在您的情况下为
title
)。相反,您可以使用
null
。
(未经测试)示例:
await addDoc(this.collectionRef, {
title: this.setTitle || null,
postText: this.setPostText || null,
});
Yaman KATBY
2022-01-25