摘要: React单元测试,就是把React 组件渲染出来,看看渲染出来的内容符不符合我们的预期。比如组件加载的时候有loading, 那就渲染组件,看看渲染出的内容中有没有loading. 再比如,ajax请求完成后,组件要显示返回的数据, 那就渲染组件, 等待请求完成,然后看看渲染出来内容是不是请求返回 阅读全文
posted @ 2020-09-13 19:45 SamWeb 阅读(3203) 评论(0) 推荐(0) 编辑
摘要: 计算机内部使用二进制存储数据,只认识0和1两个数字,计算机的世界只有0和1。但我们的世界却充满着文字,如a, b, c。怎样才能让计算机显示文字,供我们使用和交流?只能先把文字转化成数字进行存储,然后再把数字转化成文字进行显示,但一个文字怎么转化成数字,转化成哪个数字,或者用哪一个数字代表哪一个文字 阅读全文
posted @ 2020-06-13 12:35 SamWeb 阅读(755) 评论(0) 推荐(0) 编辑
摘要: Babel有两大功能,转译和polyfill。转译就是把新的JS的语法,转化成旧的JS的语法。polyfill则是针对JS中新增的一些对象(Map, Set)和实例方法,这些对象和方法,在旧的浏览器中肯定没有,如果使用它们,肯定也会报错,但你又想使用它们,那怎么办? 很简单,既然没有,就手动实现它们 阅读全文
posted @ 2020-05-30 18:08 SamWeb 阅读(574) 评论(0) 推荐(0) 编辑
摘要: React Hooks都是函数,当React渲染函数组件(调用函数)时,组件里的每一行代码都会被执行,一个个的Hooks就会被执行。useState()可以接受一个参数,返回一个数组,数组的第一项是值,第二项是更新值的函数。 const App= () => { const [message, se 阅读全文
posted @ 2019-11-28 20:42 SamWeb 阅读(6450) 评论(0) 推荐(2) 编辑
摘要: Jest 命令行窗口中的指令 在学习Jest单元测试入门的时候,给Jest命令提供了一个参数 --watchAll, 让它监听测试文件或测试文件引入的文件的变化,从而时时进行测试。但这样做也带来一个问题,只要改变一点内容,Jest就会把所有的测试都跑一遍,有点浪费资源。有没有可能对--watchAl 阅读全文
posted @ 2019-11-09 18:35 SamWeb 阅读(4841) 评论(2) 推荐(1) 编辑
摘要: 首先是为什么要写单元测试? 主要还是测试我们代码有没有达到预期的效果,其次,如果严格按照TDD(测试驱动开发)来进行开发的话,我们还会更加注重产品细节,代码可能更加健壮。因为TDD是测试放到第一位,写代码之前,先写测试。测试怎么写?肯定是思考产品的各种使用场景,以及在每种场景下,会有什么效果或异常, 阅读全文
posted @ 2019-09-07 16:12 SamWeb 阅读(21039) 评论(0) 推荐(5) 编辑
摘要: 当Redux 和React 相接合,就是使用Redux进行状态管理,使用React 开发页面UI。相比传统的html, 使用React 开发页面,确实带来了很多好处,组件化,代码复用,但是和Redux 接合时,组件化却也带来了一定的问题,组件层层嵌套,有成千上百个,而store确只有一个,组件中怎么 阅读全文
posted @ 2019-08-18 23:00 SamWeb 阅读(1039) 评论(1) 推荐(0) 编辑
摘要: 回顾一下Redux的数据流转,用户点击按钮发送了一个action, reducer 就根据action 和以前的state 计算出了新的state, store.subscribe 方法的回调函数中 store.getState() 获取新的state, 把state 注入到页面元素中,实现页面状态 阅读全文
posted @ 2019-08-11 15:36 SamWeb 阅读(1603) 评论(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 阅读(780) 评论(0) 推荐(1) 编辑
摘要: Symbol类型没有字面量表现形式,要想获得一个Symbol类型的值, 需要调用全局函数Symbol() let firstSymbol = Symbol(); 调用的时候,也可以给函数传一个字符串参数,用来描述这个symbol let secondSymbol = Symbol('second s 阅读全文
posted @ 2019-05-03 08:06 SamWeb 阅读(3731) 评论(0) 推荐(1) 编辑