Skip to content

Audicy/redux-optimistic-actions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redux Optimistic Actions

Installation

npm install --save redux-optimistic-actions

Example Usage

import { createOptimisticReducer } from 'redux-optimistic-actions';

const initialState = { sum: 0 };

const reducer = createOptimisticReducer((state = initialState, action) => {
    switch (action.type) {
        case 'ADD':
            return { sum: state.sum + action.payload };
        case 'SUBTRACT':
            return { sum: state.sum - action.payload };
        default:
            return state;
    }
});

window.reducer = reducer;

window.action1 = {
    type: 'ADD',
    payload: 1,
    meta: {
        transactionID: 0,
        status: 'pending',
        optimistic: true
    }
};

window.action2 = {
    type: 'ADD',
    payload: 2,
    meta: {
        transactionID: 1,
        status: 'pending',
        optimistic: true
    }
};

window.action3 = {
    type: 'ADD',
    payload: 3
};

window.action2revert = {
    type: 'ADD',
    payload: new Error('bad bad'),
    meta: {
        transactionID: 1,
        status: 'error',
        optimistic: true
    }
};

window.action1commit = {
    type: 'ADD',
    payload: 1,
    meta: {
        transactionID: 0,
        status: 'success',
        optimistic: true
    }
};

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published