Victor Noël
Jul 25, 2017 · 1 min read

The result and articles depend on each other ( if we add new article we need to update both the result and the articles ), so our best choice is to use the zip operator.

This is true only in highly simplified situation: what if something is modifying articles.entities in a way that has nothing to do with result (e.g., an article is modified but not added)? It will just broke the whole stream and keep it desynchronized.

The correct solution is of course to use combineLatest: everytime one of the two changes, there is a possibility for producing a new value.

Or even withLatestFrom, since change in result means a change in articles, but you have to be sure that articles.entities is changed before or at the same time than result in the store then (via a unique reducer or a batching action).

    Victor Noël

    Written by