Logo for T3

Firecrud-react

A React API library for Firestore with CRUD-like syntax

Get started by running npm i firecrud-react

PRs are most welcomed!!!

Table of contents

What is Firecrud?

Firecrud provides an API layer on top of your Firestore Instance. It provides everything you need from a basic CRUD API to access your Cloud Firestore:

Getting Started

To get started with firecrud-react, run the following command:

npm

npm i firecrud-react

Initialize Firecrud

imports

import { useFirestore } from 'firebase-react'
import db from '../firebase'

initialize your db

const { fireStore } = useFirestore(db)

Add data (CREATE)

( equivalent to setDoc )

To create or overwrite a single document, use the fireStore.get() method:  

const { fireStore } = useFirestore(db)
const data = fireStore.get({
  name: "Los Angeles",
  state: "CA",
  country: "USA"
}, "cities", "LA")

If the document does not exist, it will be created. If the document does exist, its contents will be overwritten with the newly provided data, unless you use the fireStore.post method, as follows:

const data = firestore.post( null, 'cities', 'BJ' ) 

For a better alternative, check out Update doc

Get data (READ)

( equivalent to getDoc )

Example data

To get started, write some data about cities so we can look at different ways to read it back:  

const data = fireStore.post({
  name: "Los Angeles",
  state: "CA",
  country: "USA"
}, "cities", "LA")
 console.log(data) 
 

 

const data = fireStore.get("cities", "LA")
console.log(data)


 //output:
 //{
 //  name: "Los Angeles",
 // state: "CA",
 // country: "USA"
 //}

Update data (UPDATE)

( equivalent to updateDoc )

To update some fields of a document without overwriting the entire document, use the fireStore.update method:  

const data = fireStore.update({
  state: "California",
  country: "United States"
}, "cities", "LA")

Delete data (DELETE)

( equivalent to setDoc )

To delete a document, use the fireStore.delete method:  

const data = fireStore.delete("cities", "LA")

GitHub

View Github