RxJS middleware for action side effects in Redux using "Epics"
JavaScript TypeScript Shell CSS
Permalink
Failed to load latest commit information.
.github chore(PULL_REQUEST_TEMPLATE): clarify it's for first timers Sep 25, 2016
docs docs(ajax): Include import statements for ajax.getJSON usage Jan 21, 2017
examples/navigation docs(navigation-example): remove componentWillReceiveProps (#165) Jan 5, 2017
logo docs(gitbook): Add initial gitbook docs (#66) Jul 12, 2016
scripts chore(shipit): also push master after cutting a release Jul 24, 2016
src feat(ActionsObservable): `ActionsObservable.from()` now correctly ret… Nov 17, 2016
test fix(typings): adds store type to Epic (#174) Jan 20, 2017
website chore(gitbook): update gitbook and its deps Sep 18, 2016
.babelrc refactor(rxDucksMiddleware): change API to use transformer function Apr 22, 2016
.eslintrc chore(UMD): UMD build output (#48) Jun 22, 2016
.gitignore fix(typings): Add generics so developer defines what redux Actions lo… Sep 11, 2016
.travis.yml chore(travis): simplify travis config to resolve CI error Sep 11, 2016
CHANGELOG.md chore(publish): v0.13.0 Jan 20, 2017
CNAME docs(gitbook): Add initial gitbook docs (#66) Jul 12, 2016
CODE_OF_CONDUCT.md docs(gitbook): Add initial gitbook docs (#66) Jul 12, 2016
CONTRIBUTING.md chore(CONTRIBUTING.md): Add instructions on how to pubish redux-obser… Jul 14, 2016
LICENSE chore(LICENSE): contributors keep their copyright Oct 10, 2016
README.md chore(README): don't have links to markdown files in README, link to … Nov 10, 2016
SUMMARY.md chore(website): update formatting for ideal section numbers Aug 4, 2016
book.json chore(gitbook): update gitbook and its deps Sep 18, 2016
index.d.ts fix(typings): adds store type to Epic (#174) Jan 20, 2017
package.json chore(publish): v0.13.0 Jan 20, 2017
webpack.config.babel.js chore(UMD): UMD build output (#48) Jun 22, 2016

README.md

Join the chat at https://gitter.im/redux-observable/redux-observable build status npm version npm downloads code climate

RxJS 5-based middleware for Redux. Compose and cancel async actions to create side effects and more.

https://redux-observable.js.org

Install

This has peer dependencies of rxjs@5.0.* and redux, which will have to be installed as well.

npm install --save redux-observable

IMPORTANT: redux-observable does not add any of the RxJS operators to the Observable.prototype so you will need to import the ones you use or import all of them in your entry file. Learn more.

Adapters

You can use other stream libraries (other than RxJS v5) by using an Adapter.

You can write your own adapter too:

const adapter = {
  input: input$ => /* convert Observable to your preferred stream library */,
  output: output$ => /* convert your preferred stream back to an Observable */
};

See the existing adapters for examples. Keep in mind that while you still need RxJS v5 installed, redux-observable only pulls in the minimum amount of RxJS it needs internally--it doesn't import all of RxJS.

UMD

We publish a UMD build inside our npm package. You can use it via the unpkg CDN:

https://unpkg.com/redux-observable@latest/dist/redux-observable.min.js

Watch an introduction

Watch a video on redux-observable

JSBin Examples

To see redux-observable in action, here's a very simple JSBin to play around with:

Documentation

https://redux-observable.js.org

Discuss

Join the chat at https://gitter.im/redux-observable/redux-observable

Everyone is welcome on our Gitter channel!

Custom Emoji

Save this:

Add the redux-observable spinning logo to your Slack channel! Slack Instructions


:shipit: