redux的使用
注意:一共两个插件:react-redux,redux-thunk ;
第一步:引入仓库 import { createStore } from ‘redux’ ;
reducer函数:该函数是处理全局数据状态的函数。当该函数,传入createStore之后,会被第一次调用起来
state: 当前仓库的状态
action: 处理状态的事件对象
在reducer函数中要注意:
1.这个函数必须是一个纯函数。无任何副作用
2.每一次reducer执行,都会把当前的state传入,
在这个函数中,需要根据action的事件,操作state。
操作的方式:不能修改原来的state,返回一个新的state。
除非不需要对state进行任何修改,就返回原来的state。、
1.初始化reducer
const initialState= {键值对}
const reducer = (state = initialState , action)=>{
处理dispatch传过来的action事件
}
2.构建仓库,该仓库管理全局的数据
const store = createStore(reducer);
3.监听仓库的状态。如果状态发生变化,需要知道。才能进行响应(vue/react组件更新)
store.subscribe(()=>{
console.log(‘监听到了变化…’, store.getState());
});
访问仓库的状态
console.log(store.getState());
修改状态,需要派发任务。
dispatch执行,store就会调用reducer函数。
store.dispatch(
// 事件对象:action
{
// 这个对象需要成为一个事件对象,必须要拥有属性type
type: ‘add’,
// 其他属性可以任意扩展
num: 10
}
);
redux-thunk的使用
import { createStore, applyMiddleware } from “red