美文网首页
拓展 (React 4)

拓展 (React 4)

作者: 郑无穷大 | 来源:发表于2018-10-17 13:07 被阅读0次

    React-redux

    产生原因:

    一个状态可能被多个组件依赖或者影响,兼顾组件之间共享状态问题和共享状态可能被任意修改的问题。

    (1)避免共享状态被任意修改,产生不可预料的问题;

    (2)如果要修改,必须通过允许,筛选;

    (3)加入订阅模式来实施,每次修改后自动渲染;

    (4)解决渲染带来的性能问题,判断一下数据的状态变更,拷贝对象,生成对象,对比对象,而后渲染;


    Redux的实现:

    context 比如组件树的全局变量;

    dispatch,它专门负责数据的修改,只能执行某些我允许的某些修改;

    createStore,专门用来专门生产这种 state 和 dispatch 的集合,内部会先初始化,然后调用一次,之后每次修改都会自动渲染页面;

    reducer 是不允许有副作用的。你不能在里面操作 DOM,也不能发 Ajax 请求,更不能直接修改 state,它要做的仅仅是 —— 初始化和计算新的 state,reducer传入createStore必须符合定义

    reducer 就是用来描述数据的形态和相应的变更;

    connect 结合 context 和 store;

    Provider 做的事情也很简单,它就是一个容器组件,会把嵌套的内容原封不动作为自己的子组件渲染出来。它还会把外界传给它的 props.store 放到 context,这样子组件 connect 的时候都可以获取到。

    dispatch,它专门负责数据的修改;action为声明;

    store ,传state和dispatch的地方;

    reducer,共享结构;

    Provider,将外部传参放在context;

    相关文章

      网友评论

          本文标题:拓展 (React 4)

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