redux-cross-fetch

1.0.3 • Public • Published

Add redux-cross-fetch middleware to createStore()

store.js

import { createStore, applyMiddleware } from 'redux'
import rootReducer from '../reducers'
import apiMiddleWare from 'redux-cross-fetch'

const store = createStore(rootReducer, applyMiddleware(apiMiddleWare))

export default store

The middleware takes following params:

        @param {url}: [REQUIRED] the request URL

        @param {method}: [REQUIRED] HTTP method

        @param {headers}: [OPTIONAL] headers sent with the HTTP request
        
        @param {body}: [OPTIONAL] body sent with the HTTP request
        
        @param {success}: [REQUIRED] action creator for successful response 
        Expects a payload for Server Response 

        @param {failure}: [REQUIRED] action creator for failed response
        Expects a payload for Server Error

actions.js

Create actions with type including the string API_REQUEST to fire the middleware.

export const testAction = () => ({
    type: "API_REQUEST",
    payload: {
        request: {
            url: "https://api.github.com/users/vasa-develop",
            method: "GET"
        },
        success: apiSuccess,
        failure: apiFailure
    }
})

export const apiSuccess = (response) => ({
    type: "API_SUCCESS",
    payload: {
        response: response
    }
})

export const apiFailure = (error) => ({
    type: "API_FAILURE",
    payload: {
        error: error
    }
})

Package Sidebar

Install

npm i redux-cross-fetch

Weekly Downloads

1

Version

1.0.3

License

MIT

Unpacked Size

4.53 kB

Total Files

3

Last publish

Collaborators

  • vasa-develop