redux-observable
Advanced tools
Changelog
3.0.0-rc.1 (2023-12-14)
3.0.0 brings support for Redux 5. Please see the Redux 5.0.0 changelog for required changes. Of note is that action types are now required to be strings, and the type of actions are now unknown
.
We recommend using Redux-Toolkit if you aren't already. The action creators give a nice match
property you can use to filter actions instead of the ofType
operator. This will do proper type narrowing if you are using TypeScript.
const increment = createAction<number>("counter/increment");
const myEpic = action$ => action$.pipe(
filter(incrementAsync.match),
<a name="2.0.0"></a>
Changelog
2.0.0 (2021-06-24)
2.0.0 brings support for RxJS v7, newer TypeScript support, and a few bug fixes (see previous pre-releases.) Of note is BREAKING CHANGE that action$.ofType()
has been removed in favor of a pipeable operator you can import import { ofType } from 'redux-observable';
<a name="2.0.0-rc.2"></a>
Changelog
Changelog
2.0.0-rc.1 (2021-05-07)
<a name="2.0.0-alpha.0"></a>
Changelog
2.0.0-alpha.0 (2019-11-14)
ofType: Type inference for ofType, removal of ActionsObservable in favor of just Observable (#681) (16f083d)
Convert project to Typescript and add es2015 build target (#672) (ba4699e), closes #672
// BEFORE
function someEpic(action$) {
return action$
.ofType('PING')
.mapTo({ type: 'PONG' });
}
// AFTER
import { ofType } from 'redux-observable';
import { mapTo } from 'rxjs/operators';
function someEpic(action$) {
return action$.pipe(
ofType('PING')
mapTo({ type: 'PONG' })
);
}
combineEpics()
no longer accepts any unsafe overloads. Cast to any
if you need to provide unsafe/untyped Epics.<a name="1.2.0"></a>
Changelog
1.0.0 (2018-06-21)
It's here! 1.0 brings support for RxJS v6 and Redux v4. To help migrate from pre-1.0 versions, we've written a migration guide to help you: https://redux-observable.js.org/MIGRATION.html
Is something missing from the migration guide? Let us know or make a PR!
<a name="1.0.0-beta.2"></a>
Changelog
1.0.0-beta.2 (2018-06-16)
action$
Observable into some other stream-library primitive; like Most.js, Bacon, RxJS v4, etc. While rarely used, if you would like this functionality the MIGRATION.md guide gives an example: https://redux-observable.js.org/MIGRATION.html#setting-up-the-middleware<a name="1.0.0-beta.1"></a>