我遇到了一个奇怪的问题。所以我将React Native与Firebase结合使用。直到最近我都没问题,但是今天我遇到了这个错误,时间戳记变为空。
这是我的Firebase控制台中的样子:
这是连接到同一Firebase Firestore的React.js Web应用程序上的外观:
但是,当我在 React Native应用上进行远程调试时,这是注销的内容:
我实际上没有任何相关的代码片段发布,因为在Web应用程序和React Native应用程序上,我只是从Firestore获取数据,然后将它们添加到我的Redux存储中。别无其他幻想或特殊之处。
答案 0 :(得分:2)
我通过将Firebase/Core
和Firebase/Firestore
的依赖项从5.16降级到5.15(这是React Native Firebase’s installation guide推荐的版本)解决了这个问题。
以下是对我有用的步骤:
假设您正在使用CocoaPods,请将Podfile更改为:
pod 'Firebase/Core', '~> 5.15.0'
pod 'Firebase/Firestore', '~> 5.15.0'
(还请确保更新任何其他Firebase/*
吊舱的版本。)
在您的ios/
文件夹中,运行pod install
使用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();