🚀 Socket Launch Week 🚀 Day 3: Socket Acquires Coana.Learn More
Socket
Sign inDemoInstall
Socket

react-firebase-chat-api

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-firebase-chat-api

React API to store and fetch data in firebase realtime database

0.0.36
latest
Source
npm
Version published
Weekly downloads
7
133.33%
Maintainers
1
Weekly downloads
 
Created
Source

react-firebase-chat

React API to store and fetch data in firebase realtime database

Features

  • Data store API

  • Data fetch API

  • UI to send message

Install

npm install react-firebase-chat --save

Pre-requisite

  • Setup firebase realtime database for the application

Usage

Props

  • firebaseDatabase: reference to the firebase realtime database
  • uid: Unique identifier of the user
  • callback : callback function to receive data afer the api is excuted
  • errorCallback : callback function to receive data afer the api request fails

1. Send Message API

Pass the required params:

  • messageBody (required)
    • message (required)
    • name (required)
    • readStatus (required)
    • senderUid (required)
  • firebaseDatabase (required)
  • uid (required)
  • callback (optional)
  • errorCallback (optional)
import { useCallback, useState } from 'react';
import { addMessage } from "react-firebase-chat-api";
import { firebaseDatabase } from "./FirebaseSettings"; // your firebase config
function App() {
  const [message, setMessage] = useState('')
  const userId = "USER_UNIQUE_ID"
  const _messageBody = {
    message: message,
    name: "SENDER_NAME",
    readStatus: false,
    senderUid: userId
  }
  const sendMessage = useCallback(() => {
    setMessage('')
    return addMessage({
      messageBody: _messageBody,
      firebaseDatabase,
      uid: userId,
      errorCallback: (e) => {
        console.error(e)
      },
      callback: (e) => {
        console.log("message added successfully. ", e)
      }
    })
  }, [firebaseDatabase, message])


  return (
    <div className="App">
      <header className="App-header">
        <input onChange={e => setMessage(e.target.value)} value={message}></input>
        <button onClick={e => sendMessage()}> sendMessage </button>
      </header>
    </div>
  );
}

export default App;

2. Messages listener by user id

Pass the required params:

  • firebaseDatabase (required)
  • uid (required)
  • callback (required)
  • errorCallback (optional)
import { useEffect, useState } from 'react';
import { messageListenerById } from "react-firebase-chat-api";
import { firebaseDatabase } from "./FirebaseSettings"; // your firebase config
function App() {

  const [userMessages, setUserMessage] = useState([])
  const userId = "USER_UNIQUE_ID"

  useEffect(() => {
    if (!firebaseDatabase) return
    messageListenerById({
      firebaseDatabase,
      uid: userId,
      callback: (data) => {
        console.log("all messages of the user: ", data)
        const newData = []
        for (var key in data) {
          newData.push(data[key])
        }
        setUserMessage(newData)
      },
      errorCallback: (e) => {
        console.log("message added successfully. ", e)
      }
    })
  }, [firebaseDatabase])


  return (
    <div className="App">
      <header className="App-header">
        {userMessages.map(item => <>
            <p>message : {item.message}</p>
            <p>createdAt: {item.createdAt}</p>
            <br/>
          </>
        )}

      </header>
    </div>
  );
}

export default App;

License

MIT

Keywords

firebase

FAQs

Package last updated on 11 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts