https://github.com/dbtek/react-sse
Simple state management with event emitter for React
https://github.com/dbtek/react-sse
event-emitter react state-management
Last synced: 22 days ago
JSON representation
Simple state management with event emitter for React
- Host: GitHub
- URL: https://github.com/dbtek/react-sse
- Owner: dbtek
- License: mit
- Created: 2018-04-22T20:40:50.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-04-24T08:58:17.000Z (about 8 years ago)
- Last Synced: 2025-01-18T22:41:15.868Z (over 1 year ago)
- Topics: event-emitter, react, state-management
- Language: JavaScript
- Size: 9.77 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## React SSE { }
Simple state management via an event emitter. Inspired from Choo, uses [nanobus](https://github.com/choojs/nanobus).
### Install
```bash
$ yarn add react-sse
# or
$ npm i react-sse --save
```
### Usage
```js
import React, { Component } from 'react'
import ReactDOM from 'react-dom'
import { withState, addStore } from 'react-sse'
function countStore (state, emitter) {
state.count = 0
emitter.on('count:increase', () => {
state.count++
emitter.emit('render')
})
emitter.on('count:decrease', () => {
state.count--
emitter.emit('render')
})
}
class Counter extends Component {
render () {
const { state, emit } = this.props
return (
{state.count}
emit('count:decrease')}>-
emit('count:increase')}>+
)
}
}
var StatefulCounter = withState(Counter)
addStore(countStore)
ReactDOM.render(, document.querySelector('#app'))
```
### Author
İsmail Demirbilek - [@dbtek](https://twitter.com/dbtek)
### License
MIT