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'}});