我正在try 从firebase加载一个非常简单的数据,但在react中使用路径段时,它不会起作用

非常简单的事情,比如

import { getFirestore, getDoc, getDocs, setDoc, doc, updateDoc, getCollection, collection } from "firebase/firestore";
import { firebaseConfig } from "config";

// Initialize Firebase
const app = initializeApp(firebaseConfig);
const firestore = getFirestore(app);


getDoc(doc(firestore, 'collection', ['path','to','document']));

它将抛出一个异常

Uncaught (in promise) TypeError: n.split is not a function

如何为该函数传递数组?

推荐答案

doc()不将数组作为参数,而是将路径段(字符串)作为参数.try 使用spread syntax on数组,如下所示:

getDoc(doc(firestore, 'collection', ...['path','to','document']));
// spread syntax here                ⬆


// Equivalent to:
getDoc(doc(firestore, 'collection', 'path', 'to', 'document'));

doc().文件中的功能签名:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData>;

Javascript相关问答推荐

使用print This时, map 容器已在LeafletJS中初始化

基于变量切换隐藏文本

WebGL 2.0无符号整数输入变量

为什么useState触发具有相同值的呈现

try 使用javascript隐藏下拉 Select

当输入字段无效时,我的应用程序不会返回错误

确保函数签名中的类型安全:匹配值

扩展类型的联合被解析为基类型

当用户点击保存按钮时,如何实现任务的更改?

如何在Bootstrap中减少网格系统中单个div的宽度

如何在我的Next.js项目中.blob()我的图像文件?

为什么可选参数的顺序会导致问题?

AddEventListner,按键事件不工作

将基元传递给THEN处理程序

将嵌套数组的元素乘以其深度,输出一个和

处理app.param()中的多个参数

如何在AG-Grid文本字段中创建占位符

本地损坏的Java脚本

递增/递减按钮React.js/Redux

使用props 将VUE 3组件导入JS文件