Decca Redux example

HTML

<!-- [email protected] -->
<script src="//brcdn.org/7Rc1tAN1wLhq7ITWBpVjs02l51M.js"></script>
<!-- [email protected] -->
<script src="//brcdn.org/WESLWQYmDmCMpLQi5zanEbpC7pU.js"></script>
<!-- [email protected] -->
<script src="//brcdn.org/TLFKVURd3HOnHNbmv6InI97d0N4.js"></script>

Babel + JSX

/** @jsx element */
const { dom, element } = decca
const { combineReducers,createStore } = redux



const defaultState={

		tokens:null,
    user:null,
    usersprofile:{
    firstname:null,
    lastname:null,
    phone:null
    }
};
const NEWSTATE={
	tokens:'ASDASDSADAD',
    user:'TEST',
     usersprofile:{
    firstname:'ola',
    lastname:'cola',
    phone:'sola'
    }
};


const xreducer = (state=defaultState , action) =>{
	switch (action.type) {
		case 'UPDATE':
			return {
				...action.session,
			};
    case 'UPDATETOKEN':
      
          return Object.assign({}, state, {
                tokens : action.session.tokens
            });
			;
		default:
			return state;
	}
};

const reducer = combineReducers({
  main: xreducer,
  });

const store = createStore(reducer);
console.log(store.getState());

store.subscribe(() => {
	console.log('store changed', store.getState());
});



console.log(NEWSTATE);
store.dispatch({ type: 'UPDATE', session:{tokens:NEWSTATE.tokens,user:NEWSTATE.user,usersprofile:NEWSTATE.usersprofile }});

console.log(store.getState().main.usersprofile);


store.dispatch({ type: 'UPDATETOKEN', session:{tokens:'xs'}});