Я реактивный и rnfirebase.io для подключения к firestore
Моя среда ниже:
Environment:
OS: macOS High Sierra 10.13.1
Node: 8.9.2
Yarn: 1.5.1
npm: 5.8.0
Watchman: 4.9.0
Xcode: Xcode 9.1 Build version 9B55
Android Studio: 3.1 AI-173.4720617
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: 0.55.2 => 0.55.2
Я хочу, чтобы мое приложение работало в автономном режиме, и я увидел, что Firestore поддерживает автономно по умолчанию в https://firebase.google.com/docs/firestore/manage-data/enable-offline.
Ниже приведен мой код для добавления строки в Firestore
const db = firebase.firestore().collection('bill');
const data = {
userid: firebase.auth().currentUser.uid,
year: year,
month: month,
description: description,
dateCreated: new Date()
};
db.add(data).then(ref => {
console.log('Added bill with ID: ', ref.id);
}).catch(error => {
console.error("Error adding bill: ", error);
});
Когда есть подключение к интернету, все идет гладко. Когда я отключаю подключение к Интернету и пытаюсь добавить запись, это все равно, что добавить навсегда.
Я аутентифицирую своего пользователя анонимно, как показано ниже
componentWillMount() {
const user = firebase.auth().currentUser;
if (!user) {
firebase.auth()
.signInAnonymouslyAndRetrieveData()
.then(credential => {
if (credential) {
console.log('default app user ->', credential.user.toJSON());
} else {
console.log('failed to auth anonymous user');
}
});
}
}