我在reactjs中把這段代碼從Firebase v8改為Firebase v9的模塊化版本時遇到了麻煩。
const uploadFirestore = useCallback(async() => {
await db.collection('users').doc(res。 user.uid).collection('tareas').add({
name: 'Test Task'。
fecha: Date.now()
})
})
我想把它轉換為Firebase 9的模塊,同時在集合中傳遞userUid。
我想這樣做:
import React, { useCallback } from 'react.
import { db } from " ./firebase"
import { collection, doc, addDoc } from "firebase/firerestore"。
function App(props) {
const uploadFirestore = useCallback(async() => {
await addDoc(doc(db, 'user', props. user.uid, 'tareas'), {
name: 'Test Task',
fecha: Date.now()
})
})
return (
<div>
<button onClick={uploadFirestore}>/span>
上傳
</button>上傳
</div>
)
}
export default App
這是我的firebase.js:
import { initializeApp } from "firebase/app"。
import { getFirestore } from 'firebase/firestore'。
const firebaseApp = initializeApp({
隱藏的api uwu
});
const db = getFirestore(firebaseApp)。
export { db }
但是它拋出了一個:
。
型別錯誤:n.indexOf不是一個函式
。
有什么幫助嗎?
uj5u.com熱心網友回復:
這看起來不對:
這看起來不對。
addDoc(doc(db, 'user', props. user.uid, 'tareas'), ...
你試圖將一個檔案添加到一個檔案中,這有兩個問題:
你試圖將一個檔案添加到一個檔案中。
- 檔案只能被添加到一個集合中,而不能添加到其他檔案中。
- 你在呼叫
doc時傳遞了一個集合的路徑(tareas)。
你在這里要做的是:
addDoc(collection(db, 'user, props. user.uid, 'tareas'), ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/308579.html
標籤:
下一篇:Linux平臺Redis安裝總結
