hc-oss / react-gbus

global event bus hook for react (pub/sub)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

react global event bus

Global event bus hook for react

GitHub Actions Status NPM gzip

πŸ”§ Installation

npm install --save react-gbus

✨ Features

  • πŸ“’ Broadcast(emit) from anywhere (not limited to react components)
  • πŸƒ Ultra lightweight less then 1KB
  • ✌ Written w/ TypeScript

πŸ“¦ Usage

import React, { useState } from "react";

import BusProvider, { useListener, emit } from "react-gbus";

const FRUIT_CHANGE = "fch";

function FruitViewer() {
  const [Fruit, setFruit] = useState("Choose your Fruit");

  useListener(setFruit, [FRUIT_CHANGE]);

  return <h1>{Fruit}</h1>;
}

const FruitChooser = () => (
  <div>
    <button onClick={() => emit(FRUIT_CHANGE, "🍎")}>Apple</button>
    <button onClick={() => emit(FRUIT_CHANGE, "πŸ₯­")}>Mango</button>
    <button onClick={() => emit(FRUIT_CHANGE, "🍍")}>Pineapple</button>
  </div>
);

const App = () => (
  <BusProvider>
    <FruitViewer />
    <FruitChooser />
  </BusProvider>
);

License

MIT Β© harshzalavadiya

About

global event bus hook for react (pub/sub)

License:MIT License


Languages

Language:JavaScript 52.3%Language:TypeScript 47.7%