Я столкнулся со странной проблемой. Поэтому я использую React Native в сочетании с Firebase. До недавнего времени у меня не было проблем, но сегодня у меня есть эта ошибка, когда временные метки становятся нулевыми.
Вот как это выглядит в моей консоли Firebase:
Вот как это выглядит в веб-приложении React.js, подключенном к тому же Firebase Firestore:
Однако, когда я выполняю удаленную отладку на своем Реагировать на родное приложение, вот что выходит из системы:
На самом деле у меня нет подходящего фрагмента кода для публикации, потому что как в веб-приложении, так и в приложении React Native я просто получаю данные из Firestore, а затем просто добавляю их в свой магазин Redux. Ничего сверхъестественного или особенного с ним не делается.
🤔 А знаете ли вы, что...
С React можно использовать JSX (JavaScript XML) для описания компонентов.
Вы недавно обновляли свой 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();
Я решил эту проблему, понизив мои зависимости Firebase/Core
и Firebase/Firestore
с 5.16 до 5.15 (в любом случае это версия, рекомендованная Руководство по установке React Native Firebase).
Вот шаги, которые сработали для меня:
Предполагая, что вы используете CocoaPods, измените свой Podfile на:
pod 'Firebase/Core', '~> 5.15.0'
pod 'Firebase/Firestore', '~> 5.15.0'
(Также обязательно обновите версии любых других подов Firebase/*
.)
Из папки ios/
запустите pod install
Перезапустите ваш проект в XCode (или в командной строке с react-native run-ios
)