Skip to content

RxJS middleware for action side effects in Redux using "Epics"

License

Notifications You must be signed in to change notification settings

jondot/redux-observable

 
 

Repository files navigation

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

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

https://redux-observable.js.org

https://redux-observable-cn.js.org 中文版(非官方)

Supporting redux-observable

redux-observable is an independent project with ongoing development and support made possible thanks to donations made by these awesome backers. If you'd like to join them, please consider:

Sponsors

No Platinum or Gold sponsors yet. Become one and your name or logo will be here! Help keep Open Source sustainable.

Silver Sponsors ($100+)

Install

This has peer dependencies of rxjs@5.x.x 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.

Optional Adapters

Epics use RxJS v5 by default. 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

Online Live Examples

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

Documentation

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


*redux-observable is a community-driven, entirely volunteer project and is not officially affiliated with or sponsored by any company.

:shipit:

About

RxJS middleware for action side effects in Redux using "Epics"

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 74.0%
  • TypeScript 23.0%
  • Shell 2.3%
  • CSS 0.7%