1.0.5 • Published 8 years ago

redux-thunk-request v1.0.5

Weekly downloads
6
License
MIT
Repository
github
Last release
8 years ago

redux-thunk-request

Redux-thunk extra request

function request(
    url : String,
    options : Object<{
        method : String<['get', 'post', 'delete', 'put']>,
        accept : String<default = 'application/json'>,
        query : Object,
        send : Object,
        contentType : String<default = 'application/json'>,
        accessToken : String,
        attach : Array,
        fields : Array<[name, value]>
    }>
)

Example:

import ReduxThunkRequest from 'redux-thunk-request';
import {createStore, applyMiddleware} from 'redux';
import thunk from 'redux-thunk';

function defaultErrorHandler(err, res) {
    if(res.unauthorized) {
        unauthorized = true;
    }
}

function getAccessToken() {
    Cookies.get('access_token');
}

const extraRequest = new ReduxThunkRequest({
    baseUrl: 'http://localhost:8080',
    defaultErrorHandler,
    getAccessToken
});
const {request} = extraRequest;

const store = createStore(reducer, applyMiddleware(thunk.withExtraArgument({request})));

store.dispatch((dispatch, getState, {request}) => {
    const req = request('/', {waitServer : true}).then(({value}) => dispatch({
        type : UPDATE_VALUE,
        value
    }));
    assert(true === extraRequest.isWaited());
    return req;
}).then(({value})=>{
    assert(5 === value);
    assert(5 === store.getState().value);
    assert(false === apiRequest.isWaited());
});
1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago