Redux 基础

75 阅读1分钟

redux 是JavaScript 状态容器

总的来说:

就是应用中的所有 state 都以一个对象树的形式存储在一个单一的 store 中。唯一改变 state 的办法就是触发 action (一个描述发生什么的对象)。为了描述 action 如何改变 state 树,就需要编写 reducers(纯函数)!!!

简单应用如下:

// reducer 的形式为 (ostate , action) => nstate 即每个action如何把老状态 ostate 转变成为新状态 nstate!!

function reducer1(ostate , action){

switch(action type){

case 'INCREMENT' : return state+1;

case 'DECREMENT' : return state-1; }

}

// store 来存放应用的状态,API 是 {subscribe 订阅 , dispatch 派发, setState 获得}

  • 创建 store ,调用方法 createSrote(reducer)

     - let store = createStore(reducer1);
    
  • 手动订阅 , store.subscribe(callback)

     - store.subscribe(()=> console.log(store.getState()))
    
  • 改变state ,需要手动派发 dispatch 一个 action 对象

     - store.dispatch({ type : 'INCREMENT'})