Redux Resource
  • Home
  • Introduction
    • Motivation
    • Core Concepts
    • Similar Projects
    • Examples
  • Resources
    • Resource Reducers
    • Resource Objects
    • Meta
    • Lists
    • Modifying Resources
  • Requests
    • Request Objects
    • Keys
    • Names
    • Statuses
    • Request Actions
      • Updating Lists
      • Reading Resources
      • Updating Resources
      • Creating Resources
      • Deleting Resources
  • Other Guides
    • Usage With React
    • Tracking Request Statuses
    • Using Request Statuses
    • Custom Action Types
    • Migration Guides
  • Recipes
    • Forms
    • Canceling Requests
    • Unauthorized Responses
    • User Feedback
    • Related Resources
    • Caching
  • Ecosystem Extras
    • Redux Resource Action Creators
    • Redux Resource XHR
    • Redux Resource Prop Types
    • Redux Resource Plugins
      • HTTP Status Codes
      • Selection
      • Reset
      • Included Resources
  • FAQ
    • General
    • State Tree
    • Actions
    • Lists
  • API Reference
    • resourceReducer
    • getStatus
    • getResources
    • upsertResources
    • setResourceMeta
    • actionTypes
    • requestStatuses
Powered by GitBook
On this page
  • redux-rest-resource
  • redux-resources
  • redux-json-api
  1. Introduction

Similar Projects

PreviousCore ConceptsNextExamples

Last updated 7 years ago

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 . 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 . 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.

redux-rest-resource
redux-resources
plugins
redux-json-api
JSON API