【发布时间】:2021-06-08 15:45:59
【问题描述】:
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.1/umd/react-dom.production.min.js"></script>
import React, { useRef } from "react";
import firebase from "../api/firebase";
import admin from "firebase-admin";
export default function ListItem(props) {
const commentRef = useRef();
const addCommentHandler = async () => {
const comment = commentRef.current.value;
const db = firebase.firestore();
// const jajaja = await db.collection("userData").doc(`${props.id}`).get();
// console.log(jajaja.data().comments.length);
const init = db.collection("userData").doc(`${props.id}`);
const init2 = await init.update(
{ comments: admin.firestore.FieldValue.arrayUnion(`${comment}`) },
{
merge: true,
}
);
};
return (
<>
<li onClick={props.onClick}>{props.email}</li>
<input type="text" ref={commentRef} />
<button onClick={addCommentHandler}>Add Comment</button>
</>
);
}
我不断收到标题作为错误。我究竟做错了什么?另外,这是我的数据库的快照。我已经在 firestore 中添加了一条评论,并且正在尝试添加更多“cmets”数组项。
这是使用 set() 而不是 update() 后的错误
【问题讨论】:
标签: javascript arrays reactjs google-cloud-firestore