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
  • Arguments
  • Returns
  • Example
  • Tips
  1. API Reference

getResources

PreviousgetStatusNextupsertResources

Last updated 5 years ago

Returns an array or object of resources from resourceSlice based on the filter provided.

Arguments

  1. resourceSlice (Object): The slice of your state that a resourceReducer is responsible for.

  2. filter (Array|String|Function): The filter to apply. It can be an array of resource IDs, or the name of a . If a function is provided, then getResources will iterate over the collection of resources, returning the resources that the function returns truthy for. The function will be called with three arguments: (resource, resourceMeta, resourceSlice). If no filter is provided, then all of the resources in the resourceSlice will be returned.

  3. options (Object): An object to customize the behavior of getResources. Presently, only one option is supported: byId. Pass { byId true } to receive the results as an object instead of an array.

Returns

(Array|Object): An Array of resources, unless byId is passed as true, in which case an object will be returned instead.

Example

import { getResources } from 'redux-resource';
import store from './store';

const state = store.getState();

// Retrieve resources by an array of IDs
const someBooks = getResources(state.books, [1, 12, 23]);

// Retrieve those same resources as an object
const someBooksAsObject = getResources(state.books, [1, 12, 23], { byId: true });

// Retrieve resources by a list name
const popularBooks = getResources(state.books, 'mostPopular');

// Retrieve the "selected" resources
const selectedBooks = getResources(state.books, (resource, meta) => meta.selected);

// Returns all resources
const allResources = getResources(state.books);

Tips

  • You don't always need to use this method to access resources. Just need one resource? If the resource is on a slice called books, you can directly access it using store.getState().books.resources[bookId].

  • When the order of your resources doesn't matter, then it probably makes sense to pass { byId: true } as options so that you can look up your resources more quickly.

list