摘要: React Hooks 都是函数,使用React Hooks,就是调用函数。React Hooks在函数组件中使用,当React渲染函数组件时(也是调用函数),组件里的每一行代码都会被执行,一个个的Hooks也就会被执行。 useState() 使函数组件能够保存状态。通常来说,函数执行完毕,其内部 阅读全文
posted @ 2019-11-28 20:42 SamWeb 阅读(6413) 评论(0) 推荐(2) 编辑
摘要: Jest 命令行窗口中的指令 在学习Jest单元测试入门的时候,给Jest命令提供了一个参数 --watchAll, 让它监听测试文件或测试文件引入的文件的变化,从而时时进行测试。但这样做也带来一个问题,只要改变一点内容,Jest就会把所有的测试都跑一遍,有点浪费资源。有没有可能对--watchAl 阅读全文
posted @ 2019-11-09 18:35 SamWeb 阅读(4800) 评论(2) 推荐(1) 编辑
摘要: 首先是为什么要写单元测试? 主要还是测试我们代码有没有达到预期的效果,其次,如果严格按照TDD(测试驱动开发)来进行开发的话,我们还会更加注重产品细节,代码可能更加健壮。因为TDD是测试放到第一位,写代码之前,先写测试。测试怎么写?肯定是思考产品的各种使用场景,以及在每种场景下,会有什么效果或异常, 阅读全文
posted @ 2019-09-07 16:12 SamWeb 阅读(20964) 评论(0) 推荐(5) 编辑
摘要: 当Redux 和React 相接合,就是使用Redux进行状态管理,使用React 开发页面UI。相比传统的html, 使用React 开发页面,确实带来了很多好处,组件化,代码复用,但是和Redux 接合时,组件化却也带来了一定的问题,组件层层嵌套,有成千上百个,而store确只有一个,组件中怎么 阅读全文
posted @ 2019-08-18 23:00 SamWeb 阅读(1034) 评论(1) 推荐(0) 编辑
摘要: React 有一个特殊的属性children, 主要用于组件需要渲染内容,但它并不知道具体要渲染什么内容,怎么会有这种使用场景?确实比较少,但并不是没有,比如弹出框。当你写一个弹出框组件的时候,你知道它要弹出什么吗?肯定不知道,只有使用的时候才知道。那为什么要写弹出框组件?虽然内容不一样,但框是一致 阅读全文
posted @ 2019-08-17 10:48 SamWeb 阅读(4194) 评论(0) 推荐(1) 编辑
摘要: 回顾一下Redux的数据流转,用户点击按钮发送了一个action, reducer 就根据action 和以前的state 计算出了新的state, store.subscribe 方法的回调函数中 store.getState() 获取新的state, 把state 注入到页面元素中,实现页面状态 阅读全文
posted @ 2019-08-11 15:36 SamWeb 阅读(1587) 评论(4) 推荐(0) 编辑
摘要: Redux用做状态管理,有三个基本的原则 1,整个应用的状态(state)都存在一个普通的JS对象中。比如管理用户的用户列表,可以如下表示 const state = [ { id: 1, name: 'sam', age: '20' }, { id: 2, name: 'josn', age: ' 阅读全文
posted @ 2019-08-10 11:39 SamWeb 阅读(776) 评论(0) 推荐(1) 编辑
摘要: 类型 类型是一组固有的、内置的特征,对于JS引擎和开发人员来说,它可以唯一地标识特定值的行为,并将其与其他值区分开来。换句话说,如果JS引擎和开发人员都把42和‘42’看作不同,区别对待,那么它们两个就是不同的类型。当使用42时, 可能进行算术运算,使用'42', 可能进行字符串处理,比如输出到控制 阅读全文
posted @ 2019-06-06 12:39 SamWeb 阅读(4200) 评论(0) 推荐(0) 编辑
摘要: Sets 和数组一样,都是一些有序值的的集合,但是Sets 和数组又有所不同,首先Sets 集合中不能存有相同的值,如果你向Sets 添加重复的值,它会忽略掉, 其次Sets 集合的作用也有所不同,它的主要作用一是存储数据,二是在于看一个值是不是在集合中,而不是对单个值进行操作,Sets 的查找更快 阅读全文
posted @ 2019-05-15 23:29 SamWeb 阅读(969) 评论(0) 推荐(0) 编辑
摘要: Symbol类型没有字面量表现形式,要想获得一个Symbol类型的值, 需要调用全局函数Symbol() let firstSymbol = Symbol(); 调用的时候,也可以给函数传一个字符串参数,用来描述这个symbol let secondSymbol = Symbol('second s 阅读全文
posted @ 2019-05-03 08:06 SamWeb 阅读(3721) 评论(0) 推荐(1) 编辑