Redux零碎知识点回顾

1、什么是state:应用中所有的数据都以 state的形式存放在store中。

2、什么是store:一个应用中只有一个store,用来维持应用所有的state树的对象。一个 State 对应一个 View,因此store是一个包含多个state的容器。

3、什么是action:action本质是个普通对象,必须用一个type字段表示将要执行的动作。

4、store 里能直接通过 store.dispatch() 调用 dispatch() 方法,但是多数情况下你会使用 react-redux 提供的 connect() 帮助器来调用。

5、单一数据源:整个应用的 state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store 中。

6、State是只读的:惟一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象。

7、使用纯函数 reducers执行修改:Reducer 只是一些纯函数,它接收先前的 state 和 action,并返回新的 state。

8、actionstatereducer:action描述发生了什么事情;reducer指明了如何更新state;

9、reducer不能有的3个操作:修改传入的参数、 API 请求和路由跳转、使用Date.now() 或 Math.random()等非纯函数。

10、可以在reducer里指定state初始化的数据,重点需要考虑的是应该如何设计state对象的结构。

11、当reducer多了就需要对reducer进行拆分,最后需要使用combineReducers对拆分的reducer进行合并。

import {combineReducers} from ‘redux‘;export default combineReducers({  reducer1,  reducer2})

12、创建store:要创建store只需要把根部的 reducing 函数 传递给 createStore。

  createStore() 的第二个参数是可选的, 用于设置 state 初始状态。

import { createStore } from ‘redux‘;let store = createStore(reducer, [ ‘Use Redux‘ ])

13、Redux 应用中数据的生命周期遵循下面 4 个步骤:  

  • 调用 store.dispatch(action)。
  • store 调用传入的 reducer 函数。
  • 根 reducer 应该把多个子 reducer 输出合并成一个单一的 state 树。
  • store 保存了根 reducer 返回的完整 state 树。
时间: 2024-08-05 12:57:35

Redux零碎知识点回顾的相关文章

React零碎知识点回顾

1.JSX更接近于js而不是HTML,所以React DOM使用驼峰属性命名规则来取代原来的HTML属性名. 2.JSX的本质是个函数对象.下面两个例子是相似的: const element = ( <h1 className="greeting"> Hello, world! </h1> ); const element = React.createElement( 'h1', {className: 'greeting'}, 'Hello, world!'

Spring知识点回顾(01)

Spring知识点回顾(01) 一.依赖注入 1.声明Bean的注解 @Component @Service @Repository @Controller 2.注入Bean的注解 @Autowired @Inject @Resource 二.加载Bean 1.xml方式 - applicationcontext.xml : Beans, Bean, Component-Scan 2.注解方式 - @Configuration,@ComponentScan,@Bean 用@Configurati

面向对象【day07】:多态-面向对象使用场景--知识点回顾

本节内容 多态 面向对象使用场景 知识点回顾 一.多态 一.概述 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针. 那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化:继承可以扩展已存在的代码模块(类):它们的目的都是为了--代码重用.而多态则是为了实现另一个目的--接口重用!多态的作用,就是为了

面试前的准备---C#知识点回顾----03

经过一天的奔波,喜忧参半,不细表 再回看下标题,C#知识点回顾 再看下内容,数据库3NF 原谅我这个标题党 今天继续回忆 1.HTTP中Post和Get区别 这忒简单了吧,大家是不是感觉到兴奋了,长舒一口气了,终于出现了一个可以聊上10分钟的问题了. 根据HTTP规范,Get用于信息获取,而且应该是安全的和幂等的. 参数在URL后,以?分割,以&相连. 根据HTTP规范,Post表示可能修改服务器的资源请求.数据存在HTTP包中 以上最基本的得知道吧,重点可以聊的出现了,安全性. 详细请拜读:h

PHP面向对象关键知识点回顾

一,类中的析构函数(__destruct): 析构函数是自动调用的 析构函数主要用于销毁资源 析构函数的调用顺序是先创建的对象最后被销毁(原理是栈的先进后出) 析构函数什么时候被调用 (1)当程序(进程结束)推出时 (2)当一个对象成为垃圾对象时候,该对象的析构方法也会被调用 (3)所谓垃圾对象,就是指没有任何变量再引用它(没有变量再只指向堆中的对象) (4)一旦对象成为垃圾对象,析构函数就会立即被调用 二,类中使用静态变量(static) 静态变量的引入是为了解决不同的对象实例能够共享同一个变

面向对象知识点回顾整理

目录 面向对象知识点回顾整理 一.面向对象基础 1.类和对象 2.属性查找: 3.绑定方法: 4.对象之间的交互: 5.类的内置属性 6.三大特性:继承.多态.封装 二.面向对象高阶 元类 单例模式 面向对象知识点回顾整理 一.面向对象基础 面向对象编程的核心是对象二字,对象是属性与方法的结合体,python中一切皆对象. 优点:可扩展性强 缺点:编程的复杂度高 1.类和对象 对象:属性和方法的结合体 类:一堆属性和方法的结合体 python中是先有类再有对象,现实生活中是先有对象再有类 类名(

JAVA零碎知识点

总结的JAVA零碎知识点 学习和工作中总会有一些零碎的知识点,可能不经常用到或者以前不熟知,在此记录一下. 一.有关Lamda表达式 Lamda表达式是1.8新增特性,所以使用前请确定项目JDK版本是否支持. Lamda主要解决匿名内部类和函数的啰嗦语句问题,比如曾经的Jframe的Jbutton监听事件addActionListener JButton jb = new JButton("click"); jb.addActionListener(new ActionListener

动画里关于 CALayer 的一些零碎知识点

重温了一下<IOS 7 Programming: Pushing the Limits>这本书,有许多零碎的知识点,记录一下,勉强算作是学习笔记吧. CALayer Part 1 动画的基本单元就是 UIView,它是非常重量级的对象,所以不能多用.但你又想让你的 UI 看起来更酷,那就需要使用 Core Animation 了.Core Animation 中最基础也最重要的部分就是CALayer . 设置 CALayer 就是设置图层的 contents 属性.和 UIView 不一样,U

Android群英传知识点回顾——第七章:Android动画机制与使用技巧

7.1 Android View动画框架 7.1.1 透明度动画 7.1.2 旋转动画 7.1.3 位移动画 7.1.4 缩放动画 7.1.5 动画集合 7.2 Android属性动画分析 7.2.1 ObjectAnimator 7.2.2 PropertyValuesHolder 7.2.3 ValueAnimator 7.2.4 动画事件的监听 7.2.5 AnimatorSet 7.2.6 在XML中使用属性动画 7.2.7 View的animate方法 7.3 Android布局动画