mattkrick / redux-optimistic-ui

a reducer enhancer to enable type-agnostic optimistic updates
MIT License
693 stars 36 forks source link

Multiple optimistic reducers: only react to your own actions #55

Open Buggytheclown opened 3 years ago

Buggytheclown commented 3 years ago

Feature request, i think it's important because:

I want to use multiple optimistic slices:

For example, if i use multiple 'optimistic' slices, i want each 'optimistic' enhancer react only on own actions:

const enhancedRootReducerNested = combineReducers({
  counter1: optimistic(counterReducer1), // 'INC_1'
  counter2: optimistic(counterReducer2), // 'INC_2'
})

test('only react on own BEGIN', t => {
  const begin0 = makeAction('INC_2', BEGIN, 0);
  const state1 = enhancedRootReducerNested(undefined, begin0);

  const expected = {
    counter1: {
      beforeState: undefined,
      history: [],
      current: 0
    },
    counter2: {
      beforeState: 0,
      history: [begin0],
      current: 1
    },
  };
  t.deepEqual(state1, expected);
});

Can be related with https://github.com/mattkrick/redux-optimistic-ui/issues/54