美文网首页
拓展 (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;

相关文章

  • 拓展4 (React)

    以下读http://www.ruanyifeng.com/blog/2015/03/react.html 笔记 J...

  • 拓展 (React 4)

    React-redux 产生原因: 一个状态可能被多个组件依赖或者影响,兼顾组件之间共享状态问题和共享状态可能被任...

  • React拓展4-Fragment

    Fragment 组件能够在不额外创建 DOM 元素的情况下,让 render() 方法中返回多个元素。 一个常见...

  • react拓展

    setState() setState更新状态的2种方式 对象式的setState 函数式的setState 对象...

  • 拓展(React 2)

    为什么不直接从 JSX 直接渲染构造 DOM 结构,而是要经过中间这么一层呢? 第一个原因是,当我们拿到一个表示 ...

  • react学习笔记-过渡动画(5)

    4-11、React中实现css过渡动画 4-12、React中实现css动画效果 4-13、使用react-tr...

  • 拓展 React3

    一、高阶组件(Higher-Order Components) 高阶组件就是一个函数,传给它一个组件,它返回一个新...

  • react JSX语法

    jsx语法 概念:react定义的一种类似于xml的js拓展语法 作用:用来创建react的虚拟DOM对象的var...

  • @芥末的糖-----路由以及路由传参

    React Router v4 React Router V4 遵循了 React 的理念:万物皆组件。不用于Vu...

  • 未看文章

    react-router4文档react-router4文档 # react-router 按需加载2.# 浅谈R...

网友评论

      本文标题:拓展 (React 4)

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