【发布时间】:2020-12-06 14:33:37
【问题描述】:
以下与 firebase 进行反应连接的项目具有以下问题代码。单击输入按钮提交消息后,它会从数据库中返回错误。(下图)。我创建了集合“房间”,并尝试使用 db.collection("rooms").doc(channelId).collection({ }) 第 17 行进行访问,这会从 firebase 中恢复错误.
这个错误信息是什么意思? FirebaseError:函数 CollectionReference.doc() 要求其第一个参数为非空字符串类型,但它是:true
我删除了 firebase.ps1 文件并重新登录。 创建了一个新的 db.collection 还是一样的。
import React, { useState } from "react";
import "./ChatInput.css";
import db from "./firebase";
import { useStateValue } from "./StateProvider";
import firebase from "firebase";
import { Button } from "@material-ui/core";
function ChatInput({ channelName, channelId }) {
const [input, setInput] = useState("");
const [{ user }] = useStateValue();
const sendMessage = (e) => {
e.preventDefault();
if (channelId) {
db.collection("rooms").doc(channelId).collection({
message: input,
timestamp: firebase.firestore.FieldValue.serverTimestamp,
user: user.displayName,
userImage: user.photoURL,
});
}
setInput("");
};
return (
<div className="chatInput">
<form>
<input
value={input}
onChange={(e) => setInput(e.target.value)}
placeholder={`Message #${channelName?.toLowerCase()}`} />
<Button type="submit" onClick={sendMessage}>
SEND</Button>
</form>
</div>
);
}
export default ChatInput;
**还添加了以下代码,但仍然遇到同样的问题 Changes madechanges made 2
【问题讨论】:
标签: javascript reactjs firebase google-cloud-firestore