Similar Projects

This isn't the only library that aims to reduce boilerplate when it comes to managing resources. Below is a brief comparison between this library and a selection of others. Keep in mind that you're reading this comparison on the Redux Resource documentation site, so it may be biased.

redux-rest-resource does not track metadata on a per-resource basis. Instead, it merges all metadata for all resources onto a single property.

Consider, for instance, if a user decides to save two resources simultaneously. Redux Resource will track those two actions independently, but redux-rest-resource will only track that at least one resource is being saved.

A short list of things that redux-resources does differently from this library is:

  1. resources are split up in the store based on the requests that you make.

    Redux Resource stores all resources of the same type into one object,

    and provides request lists to organize your resources by requests.

  2. it does not provide metadata on a per-resource level

  3. it provides timestamps for the operations that you perform out of the box

  4. it keeps a cache of errors returned from the server out of the box

The features of redux-resources that are not included in Redux Resource would be straightforward to add in via plugins. However, getting the level of detail that Redux Resource provides for requests appears like it would be difficult to achieve using redux-resources.

redux-json-api provides less detail about individual resource's metadata than Redux Resource: it stores a single number that counts the number of concurrent requests of the same type that are in flight, whereas Redux Resource tracks all requests separately.

In addition, redux-json-api requires that your backend adhere to JSON API. Although Redux Resource does not provide a complete integration with JSON API out of the box, the plugin system would enable you to add more features such as relationship support.