@fakundo/redux-entities

2.0.0 • Public • Published

Entities manager

Reducer, actions & selectors created to simplify work with entities.

Installation

yarn add @fakundo/redux-entities

Creating reducer

import { createReducer } from 'redux-entities'
const collectionNames = ['subjects', 'users']
export default createReducer(collectionNames)

Actions (action creators)

  • replaceEntities(collectionName, entities)
  • mergeEntities(collectionName, entities)
  • deleteEntities(collectionName, ...entityKeys)
  • replaceCollections(collections)
  • mergeCollections(collections)
  • purgeCollections(...collectionNames)
  • purgeAllCollections()

Selectors

  • getEntities(state, collectionName, ...entityKeys)
  • getEntity(state, collectionName, entityKey)
  • getCollection(state, collectionName)

With custom reducer

import { createReducer } from 'redux-entities'

const createCustomReducer = initialState => (state, action) => {
  switch (action.type) {
    case LOG_OUT:
      return initialState

    detault:
      return state
  }
}

export default createReducer(['subjects', 'users'], createCustomReducer)

Readme

Keywords

Package Sidebar

Install

npm i @fakundo/redux-entities

Weekly Downloads

11

Version

2.0.0

License

ISC

Unpacked Size

10.8 kB

Total Files

5

Last publish

Collaborators

  • fakundo