plugin/extension
plugin:对本来系统原有的进行修饰decorate/补充
extension:对系统没有的进行添加increase
Redux模型
antion 描述发生了什么
export const add = () => {return {type: ADD}}
reducers:描述了action如何改变state.根据action 更新 state,接收旧的 state 和 action,返回新的 state
在default 情况下返回旧的state。遇到未知的 action 时,一定要返回旧的state
const INITIAL_STATE = {num: 0}export default function counter (state = INITIAL_STATE, action) {switch (action.type) {case ADD:return {...state,num: state.num + 1}default:return state}}
store[唯一]:联系reducers和action. state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store 中
const INIT_STATE = {image: '',icon: '',text: '',status: '',duration: 3000,hasMask: false,isOpened: false}const composeEnhancers =typeof window === 'object' &&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({// Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...}) : composeconst middlewares = [thunkMiddleware]if (process.env.NODE_ENV === 'development') {middlewares.push(require('redux-logger').createLogger())}const enhancer = composeEnhancers(applyMiddleware(...middlewares),)export default function configStore () {const store = createStore(rootReducer, enhancer)return store;}
