Created
May 24, 2016 04:54
-
-
Save puranjayjain/89e947b3bb73a139a261806c4725b262 to your computer and use it in GitHub Desktop.
Using fbemitter-https://github.com/facebook/emitter/ (An event emitter) with React + ES6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from 'react' | |
import mrEmitter from '../helpers/mrEmitter' | |
export default class EmittingComponent extends React.Component { | |
handleClick = () => { | |
mrEmitter.emit('onSomeEvent', 'foo sends bar') | |
} | |
render() { | |
return ( | |
<div> | |
<button onTouchTap={this.handleClick}>foo</button> | |
</div> | |
) | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from 'react' | |
import mrEmitter from '../helpers/mrEmitter' | |
// remove this subscription afterwards when there is no use for it | |
let Subscription = null | |
export default class EventUser extends React.Component { | |
// register all adding stuff here | |
componentWillMount() { | |
Subscription = mrEmitter.addListener('onSomeEvent', (data) => { | |
console.log(data) | |
}); | |
} | |
// unregister all references here | |
componentWillUnmount() { | |
Subscription.remove() | |
} | |
render() { | |
return ( | |
<div> | |
Bar | |
</div> | |
) | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// declare the event emitter var here to be useed everywhere in your app | |
import { EventEmitter } from 'fbemitter' | |
// mr Emitter is your friendly next door emitter | |
const mrEmitter = new EventEmitter() | |
export default mrEmitter |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment