redux-subscriber
Version:
Subscribe to changes in any part of redux state
62 lines (38 loc) • 1.85 kB
Markdown
[](https://travis-ci.org/ivantsov/redux-subscriber)
[](https://codecov.io/gh/ivantsov/redux-subscriber)
[](https://badge.fury.io/js/redux-subscriber)
This package allows you to subscribe to changes in any part of [Redux](https://github.com/reactjs/redux) state.
`npm install redux-subscriber --save`
_store.js_
```js
import {createStore} from 'redux';
import initSubscriber from 'redux-subscriber';
const store = createStore(...);
// "initSubscriber" returns "subscribe" function, so you can use it
const subscribe = initSubscriber(store);
```
_somewhere-else.js_
```js
// or you can just import "subscribe" function from the package
import {subscribe} from 'redux-subscriber';
const unsubscribe = subscribe('user.messages.count', state => {
// do something
});
// if you want to stop listening to changes
unsubscribe();
```
* https://github.com/ivantsov/yandex-mail-notifier-chrome - real app that uses `redux-subscriber`
- `store` - instance of Redux store.
Returns `subscribe` function.
- `key` - string which specified the part of state (e.g. `user.message.count`) to listen to.
- `callbackFunction` - function which will be called when the part of state has changed. New state is passed as a parameter.
Returns `unsubscribe` function which can be called to unsubscribe from changes.