先去action里获取任务的名字(type: 'ADD' )和数据,然后在提交dispatch,store会去 createStore(reducer2)里面找对应的任务名,然后执行里面的操作。
const store = createStore(reducer2) //创建store
export default store
subscribe:当store数据改变时,会触发subscribe函数。
getState:获取store里的数据
只要创建store,就会执行一遍reducer2
unSubscribe: 取消监听状态变化
combineReducers:将多个reducer合并成一个
简单的步骤:
//log一个redux,观察里面的属性,以下是引入创建store仓库的方法。
import { legacy_createStore as createStore } from 'redux'
const reducer2 = (prevState = 200, action) => {
switch (action.type) {
case 'ADD':
prevState = prevState * 1 + 100
return prevState
case 'REDUCE':
prevState = prevState - 50
return prevState
default:
return prevState
}
}
// 只要创建store,就会执行一遍reducer2
//创建仓库,存放应用中所有的 state。
const store = createStore(reducer2)
//getState()获取数据,会让reducer执行
console.log(store.getState());
//分发任务dispatch
setTimeout(() => {
store.dispatch({ type: 'ADD' })
store.dispatch({ type: 'REDUCE' })
}, 2000);
// 只要state改变,就会触发subscribe,监听变化subscribe
store.subscribe(() => {
console.log('mm' + store.getState());
})
复杂的步骤: