Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jun 5, 2023. It is now read-only.

IbrahimShamma99/async-dispatch

Repository files navigation

async-dispatch middleware

npm

async-dispatch is a middleware can be added with no time to privilage the asynchronous server requests into your Redux store

For more informatiom about the future of redux-logger, check out the discussion here.

Table of contents

Install

npm i --save async-dispatch

Usage

import asyncDispatchMiddleware from "async-dispatch";
import { createStore } from "redux";
import { applyMiddleware } from "redux";
const store = createStore(
 rootReducer,
 applyMiddleware(asyncDispatchMiddleware)
);
// Note passing middleware as the third argument requires redux@>=3.1.0

Then applying this middleware is simple as

const LoginReducer = (state = intialState, action) => {
 //actionTypes.LOGIN
 login(userData).then((data) => {
 if (data.error) {
 action.asyncDispatch({
 type: actionTypes.ERROR,
 message: data.error,
 });
 } else {
 action.asyncDispatch({
 type: actionTypes.SUCCESS,
 user: data,
 message: "Logged successfully",
 });
 }
 });
 return { ...state };
})

Meanwhile you are leveraging your store as usual as you used to do

 const mapDispatchToProps = (dispatch) => {
 return {
 submit: () => dispatch({ type: actionTypes.LOGIN })
 }
 }
 //Inside your component
 SubmitHandler = () => {
 return props.submit();
 }

To Do

  • Adding typeScript types

License

MIT

About

πŸš€ Middleware enables you to dispatch server requests in no time

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /