@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}_START
dispatched before sending request.{ACTION_TYPE}_FINISH
dispatched after request is finished.{ACTION_TYPE}_SUCCESS
dispatched when request succeeded.{ACTION_TYPE}_FAILED
dispatched 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