使用 sdk 9 模块化方法的 Firebase 推送获取密钥

Firebase push get key with sdk 9 modular approach

正如问题所问,我在推送到 firebase 数据库后试图获取密钥。

 push(dbRef, formState)
 .then((resp) => {
   console.log(resp);
 })
 .catch(error => {
   Alert.alert(error)
 })

上面的 console.log 给了我完整的 url 推送的数据。例如:

"https://example.firebaseio.com/organization/asdfasdfasdf/members/-N08ScImBoOckVIRu-AU". I need the key only: `-N08ScImBoOckVIRu-AU`

我错误地尝试了:

 push(dbRef, formState)
 .getKey()
 .then((resp) => {
 })
 .catch(error => {
   Alert.alert(error)
 })

这给出了一个错误。 我怎样才能做到这一点?

如果将push()调用从实际写入数据中分离出来,可以得到这样的key:

const newRef = push(dbRef);
console.log(newRef.key);
set(newRef, formState);