redukers
v0.0.9
Published
Reusable Redux atoms
Downloads
1,438
Readme
Redukers
Reusable Redux atoms. Provides composable data structures in form of a reducer and its accompanying selectors.
Concepts
Reduker
A reducer creator and a set of
selectors to access its internal
state. The created reducer reacts to actions matching the configured
Pattern
s (see below).
Redukers are very minimal, and intended to handle a small slice of state (a
particular data structure). The application state is therefore grown by
composing there redukers (or other custom reducers) manually or via
combineReducers
.
Patterns
Redukers can be defined to react to specific actions via Pattern
s. A Pattern
can be a string
(i.e. an action type to react to), an Array<string>
(i.e. an
array of action types to react to) or a predicate (action: Action) => boolean
that returns true
if it should react to the action.
type Pattern =
| string
| Array<string>
| ((action: Action) => boolean)
Flux Standard Actions
https://github.com/redux-utilities/flux-standard-action
Modules
See each module for in-depth documentation:
value
: Holds a single value.WARNING: This module cannot hold
undefined
values (see https://redux.js.org/recipes/structuring-reducers/initializing-state#summary). Usenull
,false
or other appropriate value instead.entities: Holds a collection of keyed entities. Keys are unique values used to identify and access an entity (usually an
id
).request: Holds the state of a single request (usually a network
fetch
).requestById: Holds the state of a collection of request (usually a network
fetch
).utils: Various convenience utilities to reduce Redux boilerplate or create your own redukers.