@oussama-elgoumri/redux-flow v0.0.8
WORK IN PROGRESS
This is a dev test, do not use in production. Use this on local environments.
What is redux flow?
Redux flow introduces a pattern to handle http requests, and a Collections
module that exports a set of functions to manipulate array of objects data
with immutability in mind.
When to use it?
It is recommanded to use redux-flow when building large applications, that
request and manipulate different sets of data.
redux-flow is built with one goal in mind which is to reduce the amount of code
required to do the same tasks as much as possible without sacrificing readability
or producing a learning curve.
redux-flow can show it's value, when you have multiple reducers, that perform
the same tasks again and again.
redux-flow provide a handful set of utilities, to reduce the amount of code
required to perform common tasks, like dispatching actions for http requests.
How does HTTP Pattern work?
This is a high overview of how redux-flow handles http requests. for more
informations, please refer to the documents below.
When requesting data from an endpoint, four actions needs to be dispatched:
{ACTION_TYPE}_STARTdispatched before sending request.{ACTION_TYPE}_FINISHdispatched after request is finished.{ACTION_TYPE}_SUCCESSdispatched when request succeeded.{ACTION_TYPE}_FAILEDdispatched when request failed.
redux-flow attached 3 fields to your reducer, that get's manipulated at every
stage of the request, for example, when a request is succeeded, you will have
3 fields in your state that will be set as follow:
{
requesting: false,
requesting_success: true,
requesting_failed: false,
data: [],
}requesting can be set when you initialize your reducer to be any name you
like to use, please check the documentation for more information.
redux-flow also provide a handful set of hooks that you can use to alter
the default behavior of how these requests are handled.
Installation
npm i @oussama-elgoumri/redux-flow