React Native Firestore时间戳为null

时间:2019-01-28 06:07:23

标签: reactjs firebase react-native google-cloud-firestore

我遇到了一个奇怪的问题。所以我将React Native与Firebase结合使用。直到最近我都没问题,但是今天我遇到了这个错误,时间戳记变为空。

这是我的Firebase控制台中的样子:

Inside Firebase Console

这是连接到同一Firebase Firestore的React.js Web应用程序上的外观:

Inside React Web App

但是,当我在 React Native应用上进行远程调试时,这是注销的内容:

enter image description here

我实际上没有任何相关的代码片段发布,因为在Web应用程序和React Native应用程序上,我只是从Firestore获取数据,然后将它们添加到我的Redux存储中。别无其他幻想或特殊之处。

2 个答案:

答案 0 :(得分:2)

我通过将Firebase/CoreFirebase/Firestore的依赖项从5.16降级到5.15(这是React Native Firebase’s installation guide推荐的版本)解决了这个问题。

以下是对我有用的步骤:

  1. 假设您正在使用CocoaPods,请将Podfile更改为:

    pod 'Firebase/Core', '~> 5.15.0'
    pod 'Firebase/Firestore', '~> 5.15.0'
    

    (还请确保更新任何其他Firebase/*吊舱的版本。)

  2. 在您的ios/文件夹中,运行pod install

  3. 使用XCode重新启动您的项目(或在命令行上使用react-native run-ios

答案 1 :(得分:0)

您最近是否升级了Firebase SDK? Firebase Firestore最近进行了更改,以便Firestore读回Firebase Timestamp对象而不是系统日期对象。

从Firebase的SDK警告

/** So you will also
need to update code expecting a Date to instead expect a Timestamp. For example:*/

  // Old:
  const date = snapshot.get('created_at');
  // New:
  const timestamp = snapshot.get('created_at');
  const date = timestamp.toDate();