美文网首页
react-redux的学习摘记

react-redux的学习摘记

作者: louhangfei | 来源:发表于2019-10-19 18:18 被阅读0次

redux的api

applyMiddleware // 应用中间件
bindActionCreators // 将action转化为props
combineReducers: 将多个reducer合并为一个
compose //
createStore //创建store

react-redux的api

Provider:
connect: 
// 前两个最常用,后面几个不常用
connectAdvanced: (...)
createDispatchHook: (...)
createSelectorHook: (...)
createStoreHook: (...)
shallowEqual: (...)
useDispatch: (...)
useSelector: (...)
useStore: (...)
ReactReduxContext:
batch: (...)

store的方法

dispatch: ƒ ()
getState: ƒ f()
// dispatch和getState最为常用
liftedStore: {dispatch: ƒ, subscribe: ƒ, getState: ƒ, replaceReducer: ƒ, Symbol(observable): ƒ}
replaceReducer: ƒ (n)
subscribe: ƒ subscribe(listener)
Symbol(observable): ƒ ()

createStore的简单实现

const createStore = (reducer) => {
  let state;
  let listeners = [];

  const getState = () => state;
  // getState方法,获取全局state

  const dispatch = (action) => {
    // dispatch方法执行后,1.先运行reducer函数,得到新的state
    state = reducer(state, action);
    // 2. 再执行各个订阅函数,一般是render方法
    // 第1步和第2步顺序不能倒过来
    listeners.forEach(listener => listener());
  };

  const subscribe = (listener) => {
    // 订阅的时候,将订阅函数存到函数库中
    listeners.push(listener);
    // 返回一个新的方法取消订阅函数,如果运行该取消订阅函数,那么就会将该listener取消。
    return () => {
      listeners = listeners.filter(l => l !== listener);
    }
  };

  dispatch({}); //dispatch一个空的action,得到state的初始值,就是reducer中default的返回值

  return { getState, dispatch, subscribe };
};

相关文章

  • react-redux的学习摘记

    redux的api react-redux的api store的方法 createStore的简单实现

  • React(五)

    React-redux(三):connect和mapStateToProps React-redux(四):map...

  • react-redux学习

    react-redux的作用 1、避免redux中store全局化,把store直接继承到react应用的顶层pr...

  • 摘记学习

    摘自张占英老师的朋友圈 死生之事大矣,不可不察 实际上,适当的时候,人还是要考虑一下生死,尤其是自己的 一般而言,...

  • redux的简单应用

    1、安装 redux和react-redux: npm i redux react-redux --save-de...

  • react-redux简介(二)源码解析

    写在开头 前置知识内容,react、react-redux。 react-redux文档:https://www....

  • react-redux

    react-redux react-redux可以使redux的state成为组件的属性,dispatch的act...

  • react-redux

    使用react-redux,可以更方便的使用redux开发 先install react-redux使用react...

  • react-redux

    redux 全局状态管理 react-redux 优化模块 优化redux的使用过程 通过react-redux ...

  • react 入门项目,重构「ONE · 一个」移动端应用

    react-one 简介:学习react搭建的一个demo,基于react,react-redux,react-r...

网友评论

      本文标题:react-redux的学习摘记

      本文链接:https://www.haomeiwen.com/subject/bdcnmctx.html