import { createStore } from 'redux'
const initState = {
count:0
}
const ADD_TODO = {
type:'ADD',
payload:'加法操作'
}
const LESS_TODO = {
type:'LESS',
payload:'减法操作'
}
const counter = (state = initState,action) => {
switch(action.type){
case 'ADD':
return {
count:state.count+1
}
case 'LESS':
return {
count:state.count-1
}
default:
return state;
}
}
let store = createStore(counter);
let unlistener = store.subscribe(()=>{
console.log(store.getState())
})
store.dispatch(ADD_TODO);
store.dispatch(ADD_TODO);
store.dispatch(ADD_TODO);
store.dispatch(LESS_TODO);
unlistener()
当前应用的所有状态都保存在store的state树中,这是一个集合
想要修改state中的数据,必须要发送action,可以在任何时候调用dispatch发送action
action会作为第二个参数触发创建store时传入的Reducer函数,第一个参数是当前的state树
Reducer函数会根据action中的信息,返回一个新的state树存入store
这使得程序的运行在界面出现之前就变得可以预测:
UI组件使用初始的state树,当界面需要改变时,触发action,改变store中state树的数据,然后重新渲染显示
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。