redux
const defaultValue = 0;
const reducer = (state=defaultValue,action)=>{
switch(action.type){
case 'ADD':
return state + 1;
case 'DEC':
return state - 1;
default:
return state;
}
}
const store = createStore(reducer);
const Counter=({value,onIncrement,onDecrement})=>(
<div>
<h1>{value}</h1>
<Button style={{marginRight:10}} type="primary" onClick={onIncrement}>+</Button>
<Button type="primary" onClick={onDecrement}>-</Button>
</div>
)
const render = ()=>{
ReactDOM.render(
<Counter
value={store.getState()}
onIncrement={()=>store.dispatch({type:'ADD'})}
onDecrement={()=>store.dispatch({type:'DEC'})}
/>,
document.getElementById('root')
);
}
render();
store.subscribe(render);