expo-firebase-firestore
expo-firebase is still in RC and therefore subject to breaking changings. Be sure to run
yarn upgrade
andcd ios; pod install
when upgrading.
expo-firebase-firestore
provides a json based cloud data store that is synchronized in real-time.
Installation
Now, you need to install the package from npm
registry.
npm install expo-firebase-firestore
or yarn add expo-firebase-firestore
iOS
Cocoapods
If you're using Cocoapods, add the dependency to your Podfile
:
pod 'EXFirebaseFirestore', path: '../node_modules/expo-firebase-firestore/ios'
and run pod install
.
Android
-
Append the following lines to
android/settings.gradle
:include ':expo-firebase-firestore'project(':expo-firebase-firestore').projectDir = new File(rootProject.projectDir, '../node_modules/expo-firebase-firestore/android')and if not already included
include ':expo-core'project(':expo-core').projectDir = new File(rootProject.projectDir, '../node_modules/expo-core/android')include ':expo-firebase-app'project(':expo-firebase-app').projectDir = new File(rootProject.projectDir, '../node_modules/expo-firebase-app/android') -
Insert the following lines inside the dependencies block in
android/app/build.gradle
:api project(':expo-firebase-firestore')and if not already included
api project(':expo-core')api project(':expo-firebase-app') -
Include the module in your expo packages:
./android/app/src/main/java/host/exp/exponent/MainActivity.java
/** At the top of the file.* This is automatically imported with Android Studio, but if you are in any other editor you will need to manually import the module.*/// This should be here for all Expo Firebase features.// Later in the file...@Overridepublic List<Package> {// Here you can add your own packages.return Arrays.<Package>;}
Usage
;;; // API can be accessed with: firebase.firestore(); Component ref = firebase; state = posts: loading: false ; { thisunsubscribe = thisref; } { const posts = ; querySnapshot; this; }; { this; } <Text onPress= this>itemtitle</Text>; { docref; }; { thisref; }; { return <FlatList data=thisstateposts renderItem=thisrenderItem />; }