Socket
Socket
Sign inDemoInstall

reactjs-eventemitter

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    reactjs-eventemitter

Step 1: Install the module as dependency.


Version published
Weekly downloads
655
decreased by-39.46%
Maintainers
1
Install size
3.50 kB
Created
Weekly downloads
 

Readme

Source

Step 1: Install the module as dependency.

npm i reactjs-eventemitter 

Step 2: Require the module.

import EventEmitter from "reactjs-eventemitter";
or
const EventEmitter = require("reactjs-eventemitter")

Step 3: Use the module.

// your app class

import React from 'react';

import Parent from "./parent";
import Child from "./child";

// here both parent and child are independent of each other

function App() {
  return (
    <div className="App">
        <Parent /> // parent or sibling component
        <Child /> // child or sibling component
    </div>
  );
}

export default App;
// parent class or sibling class

import React from 'react'
import EventEmitter from "reactjs-eventemitter";

export default function parent() {

    EventEmitter.subscribe('buttonClick', event => {

        console.log("button pressed inside child");
        console.log(event)

    })

    return (
        <div>
            This is parent component 
        </div>
    )

}

[!Warning] When using useEffect hook use subscribe inside useEffect otherwise it'll be called twice

import React, { useEffect } from 'react'
const EventEmitter = require("reactjs-eventemitter")




export default function Parent() {

    useEffect(() => {
        console.log("parent component loading...")


        EventEmitter.subscribe('buttonClick', event => {

            console.log(event)
        
        })
        
        EventEmitter.subscribe('buttonClick2', event => {
        
            console.log(event)
        
        })
        
        
        EventEmitter.subscribe('buttonClick3', event => {
        
            console.log(event)
        
        })

    })

   
    return (
        <div>
            This is parent componetn 
        </div>
    )

}

// child class or sibling class

import React from 'react'
import EventEmitter from "reactjs-eventemitter";

export default function child() {


    return (
        <div>
            This is child componetn 

            <button onClick={(event) => EventEmitter.dispatch('buttonClick', event)}>
                Press Me
            </button>
        </div>
    )

}

Available Functions.

// publish the event (dispatch and emit both are same)

//for redux lovers
EventEmitter.dispatch('eventName', event);
//for angular lovers
EventEmitter.emit('eventName', event)

//subscribe the event
EventEmitter.subscribe('eventName', event => { //logic here })

FAQs

Last updated on 12 Jun 2020

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc