【问题标题】:When I used timestamp I got this error Cannot read properties of undefined (reading 'firestore')当我使用时间戳时,出现此错误无法读取未定义的属性(读取“firestore”)
【发布时间】:2021-12-27 15:24:53
【问题描述】:

我正在开发信使应用程序我想存储和检索带有时间戳的数据 我收到了这个错误

我发现我需要正确导入 firestore。其实每次使用时间戳我都会觉得有问题。

我正在像这样导入 firebase

import firebase from 'firebase/app'
import { auth, db } from '../firebase'

const sendMessage = () => {
    Keyboard.dismiss();
    db.collection('chats').doc(route.params.id).collection('messages').add({
        timestamp: firebase.firestore.FieldValue.serverTimestamp(),
        message: input,
        displayName: auth.currentUser.displayName,
        email: auth.currentUser.email,
        photoURL: auth.currentUser.photoURL
    })
    setInput("")
}

【问题讨论】:

    标签: firebase react-native react-native-navigation react-native-firebase


    【解决方案1】:

    尝试从其模块导入firestore

    import firestore from 'firebase/firestore

    并重构代码如下:

    const sendMessage = () => {
        Keyboard.dismiss();
        db.collection('chats').doc(route.params.id).collection('messages').add({
            timestamp: firestore.FieldValue.serverTimestamp(),
            message: input,
            displayName: auth.currentUser.displayName,
            email: auth.currentUser.email,
            photoURL: auth.currentUser.photoURL
        })
        setInput("")
    }```
    

    【讨论】:

    • 我添加了 import firestore from 'firebase/firestore 但它不起作用
    • 正在使用哪个 Firebase 版本。检查是 9 还是 8
    • 8.1.2 Firebase 版本
    • 从全局命名空间 import firebase from "firebase" 导入 firebase。这不是推荐的方法,但它会解决问题。
    • 'default'(导入为'firebase')在'../firebase'中找不到 64 |键盘.dismiss(); 65 | db.collection('chats').doc(route.params.id).collection('messages').add({ > 66 | timestamp: firebase.firestore.FieldValue.serverTimestamp(), | ^
    【解决方案2】:

    在我的情况下,以下代码正在运行

    useEffect(() => {
        if (user) {
          db.collection('users').doc(user.uid).set({
            email: user.email,
            lastSeen: firebase.firestore?.Timestamp?.now(),
            photoUrl: auth.currentUser.photoURL,
    
          }, { merge: true });
        }
      }, [user])

    【讨论】:

      猜你喜欢
      • 2018-07-27
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-24
      • 2017-09-28
      • 1970-01-01
      相关资源
      最近更新 更多