An open API service indexing awesome lists of open source software.

https://github.com/guptasiddhant/react-trigger

Publish and listen to changes of Tiggers. Implementation of RxJs Subject. `npm i @guptasiddhant/react-trigger`
https://github.com/guptasiddhant/react-trigger

hooks react subscriber trigger

Last synced: 9 months ago
JSON representation

Publish and listen to changes of Tiggers. Implementation of RxJs Subject. `npm i @guptasiddhant/react-trigger`

Awesome Lists containing this project

README

          

# React Trigger

Publish and listen to changes of Triggers. Implementation of RxJs Subject.

Requires: React ^16.8 for hooks and RxJS.

## Trigger

Trigger instances can publish information and subscribe/listen to it anywhere else in the program.

_In TypeScript, Pass a PayloadType to let the Trigger know what to expect while observing._

### methods

- **publish**: Publish (set) new payload
- **subscribe**: Subscribe and listen to changes and execute a function.

### example

import { Trigger } from "@guptasiddhant/trigger";

// TypeScript
type PayloadType = string;
const myTrigger = new Trigger();

// JavaScript
const myTrigger = new Trigger();

// somewhere in code
myTrigger.publish("text");

// somewhere else in code
myTrigger.useSubscribe((payload) => console.log(payload));
==or==
useEffect(()=>{
const sub = myTrigger.subscribe((payload) => console.log(payload))
return () => sub.unsubscribe();
}

## useTrigger

Hook to listen to changes of Triggers (multiple)

### params

- **execute**: Function to run on Trigger
- **deps**: Array of Triggers to listen to.

### example

useTrigger((payload) => console.log(payload), [Trigger])

=== or ===

useTrigger((payload) => console.log(payload), [Trigger1, Trigger2])