Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置后如何取回文件,firebase?_Javascript_Firebase_React Native_Google Cloud Firestore - Fatal编程技术网

Javascript 设置后如何取回文件,firebase?

Javascript 设置后如何取回文件,firebase?,javascript,firebase,react-native,google-cloud-firestore,Javascript,Firebase,React Native,Google Cloud Firestore,在我设置了一个新的文档ID之后,如何才能取回文档ID 我有几次尝试,但以下是我最新的尝试: handleCreateCard = async (name, token) => { try { const new_card = await firestore() .collection('Cards') .doc() .set({ user_id: user.uid,

在我设置了一个新的文档ID之后,如何才能取回文档ID

我有几次尝试,但以下是我最新的尝试:

handleCreateCard = async (name, token) => {
    try {
        const new_card = await firestore()
          .collection('Cards')
          .doc()
          .set({
            user_id: user.uid,
            name: name,
            token: token,
          })
          .then(function(docRef) {
              console.log("Document written with ID: ", docRef.id);
          })
          .then(() => this.props.navigation.navigate("CardDetail", {cardId: 2}));

//              console.log("ATTEMPT !", handleCreateCard);
//              console.log("ATTEMPT 2", new_card);
        } catch (error) {
            console.log(error.toString(error));
        }
    }
docRef
行获取错误:

错误:
TypeError:null不是对象(计算'docRef.id')

日志处理卡 错误:
ReferenceError:找不到变量:handleCreateCard

然后
新卡
:“这是未定义的”

尝试做:

.then(docRef => {
    console.log("Document written with ID: ", this.id); // also tried docRef.id
})
我得到了ID为未定义的
文档
使用docRef.id:
TypeError:null不是对象(评估'docRef.id')

文档也正在创建中,因此不确定为什么它不会返回

我已经尝试了几种方法来实现这一点,然后也尝试了上面提到的所有方法:

不知道为什么它不起作用


有什么帮助吗?

如API文档中所述,如果没有参数,将立即返回一个已包含ID的

const docRef=wait firestore()
.收款(“卡”)
.doc()
const id=docRef.id
docRef
.set(…)
。然后(/*如果需要,请在此处使用id*/)

Hm,这很有效,谢谢。所以我想我先“创建”它,获取ID,然后设置?是这样吗?是的,随机ID是在实际创建文档之前在客户机上生成的。