Skip to content

HOC for React components which maps collections / documents from firestore into react components props.

Notifications You must be signed in to change notification settings

webscopeio/react-firestore-connect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d82d6a1 · Oct 20, 2021

History

53 Commits
Sep 27, 2018
Oct 13, 2021
Aug 1, 2018
Aug 1, 2018
Sep 27, 2018
Sep 21, 2018
Aug 1, 2018
May 22, 2019
Oct 20, 2021
Aug 1, 2018
May 22, 2019

Repository files navigation

React Firestore Connect

Higher order component for React components which provides them with data from collections / documents. Super easy to use. Both for React & React Native!

NPM

Install

Via yarn

yarn add react-firestore-connect

or NPM

npm install --save react-firestore-connect

Usage

First you need to initialize react-firestore-connect with Firebase in the root JS file of your app (typically index.js):

import firebase from 'firebase' // If you are developing for web
// import firebase from 'react-native-firebase' - if you are developing for mobile (React Native)

import { initializeFirebase } from 'react-firestore-connect'


initializeFirebase(firebase)

Afterwards, you can easily use it:

import { connectFirestore } from 'react-firestore-connect'

class Example extends Component {
  render () {
    const {
      users,
      currentUser,
    } = this.props
    console.log('Users in the application', users)
    console.log('Currently logged in user', currentUser)
    return <div />
  }
}
export default connectFirestore(
  // db is reference to firestore DB;
  // props are any props that you are passing to the component - i.e. userId to get specific user
  // uid - userId, if user is authenticated in firebase -> firebase.auth().currentUser.uid
  (db, props, uid) => ({
    users: db.collection('names'), // You can get entire collection
    threeUsersOrdered: db.collection('names').orderBy('firstName').limit(3), // You can also do any querying as you want
    currentUser: db.collection('names').doc(uid), // You can obviously get any document by its ID
    usersArray: [db.collection('names').doc(props.id[0]), db.collection('names').doc(props.id[1]), db.collection('names').doc(props.id[2])], // You can also send array of doc referencies
  }),
  Example,
)

See example folder for more details & api call examples!

License

MIT © Olovorr & Webscope

About

HOC for React components which maps collections / documents from firestore into react components props.

Resources

Stars

Watchers

Forks

Packages

No packages published