F
const createStore = (rootReducer, initialState) => {
let state = rootReducer(initialState);
const subsribers = [];
const getSate = () => state
const subscribe = cb => subsribers.push(cb);
const dispatch = action => {
state = rootReducer(state, action);
subsribers.forEach(s => s());
}
return {
dispatch,
getSate,
subscribe
}
const initialCounter = 0;
const counterReducer = (state = initialCounter, action = '') => {
switch (action.type) {
case 'INCREMENT':
return state + 1
case 'DECREMENT':
return state - 1
default: return state
}
}