React+Immutable.js的心路历程】的更多相关文章

这段时间做的项目开发中用的是React+Redux+ImmutableJs+Es6开发,总结了immutable.js的相关使用姿势: Immutable Data 顾名思义是指一旦被创造后,就不可以被改变的数据.可以通过使用Immutable Data,可以让我们更容易的去处理缓存.回退.数据变化检测等问题,简化我们的开发. 我们知道 react.js很著名的就是它处理dom的做法,它是通过Virtual Dom来查看diff,然后再改动需要改动的Dom.但是有个问题当state更新时,如果数…
//Map() 原生object转Map对象 (只会转换第一层,注意和fromJS区别) immutable.Map({name:'danny', age:18}) //List() 原生array转List对象 (只会转换第一层,注意和fromJS区别) immutable.List([1,2,3,4,5]) //fromJS() 原生js转immutable对象 (深度转换,会将内部嵌套的对象和数组全部转成immutable) immutable.fromJS([1,2,3,4,5]) //…
今天我们要来探讨JS到底是透过何种参数传递方式呢? 废话不多说,上示例!! 我们先声明原始型别和物件型别来看看两者是否会有不一样的差异: var myStr = 'Hola': var myObj = {name:'Ann'}: 再来,声明另一个变量去复制他们: var myStr = 'Hola': var myObj = {name:'Ann'}: var copyStr = myStr: var copyObj = myObj: 然后,去修改复制过的变量内容并印出所有作比较: var my…
前言 之前学JS时候都是靠着谷狗一路跌跌撞撞的学过来,从来没有去翻过MDN的文件,导致留了许多技术债给自己. 最近有幸遇到一位前辈并开始从头学JS,前辈表示学程序不看文件是想作死自己?于是我的第一份功课就是读完MDN的JS入门文件,在这过程中我也笔记了一些我认为蛮重要的地方,希望藉由这三十天的过程中能加深自己印象并分享给各位. 如果文章中有任何的错误或引用没有附上出处也欢迎各位指教. 数据类型 JavaScript中,总共有七种类型: String Number Boolean Null Und…
各家电商网站都推出了各种活动和现今优惠券,当时在逛PTT时看到了有篇文章,提供代码教大家用JS的方式抢票,看了一下后发现好像很多人好奇这是怎么做的,于是就想说想一篇文章来讲解一下. 我们先来看一下折价券的样子. 怎么点都不会有东西对吧? 开启开发人员选项,选到折价券的位置. 可以看到说是因为disable属性,才没有办法点击(leafor) 恩?所以只要取消掉就可以点击了吗? 当然不是这样啊! 我们必须等时间到时候再点击才可以! 那该怎么做呢? 首先必须用JS抓到折价券的DOM元素: const…
后来知道也可以透过canvas让网页动起来! 而PixiJS是使用WebGL在canvas上绘制内容与制作动态 且同时有下列特色: 支持多点触控 掩码与混合模式 可外加WebGL滤镜 多装置支持 等等,什么是WebGL(sxjlf88)? WebGL是一种JS的API,让网页能不需使用外挂程序就能在HTML的canvas元素中实现二维及三维渲染. 不过要注意的是,有些浏览器预设会把WebGL关闭,避免太吃性能,要打开可以参照这篇文章How can I enable WebGL in my bro…
没错,你没有看错,虽然前面说JS是原型继承,但在ES6以后新增了class关键字!!! 不过底层实作仍然是以原型继承方式进行,所以基本上算是一个语法糖. 今天我们就来看一下如何使用吧! class 首先先来看一个最简单的class例子. class Person{ constructor(val){ this.age = val: } say(){ return“Hi!”: } } var Jason = new Person(29): Jason instanceof Person://tru…
昨天有说明到函式与建构式的原型,及指定建构式函式原型为另一个建构式函式,但其实这会造成复写constructor的问题. 复写constructor的问题(vmwork) 我们昨天有提到「建构式函式可以透过.constructor来存取建立物件的函式以此来作类型检查.」,但是这个例子却会导致trickyMan的建构式的原型被复写,无法去判断. function Person(){}: Person.prototype.say =“Hi”: function trickyMan(){}: tric…
昨天有提到说Object.setPrototypeOf可以指定一个物件为另一个物件的原型,但有想过到底这个原型,也就是[[Prototype]]最终会到何处吗? 答案是Object.prototype! Object.prototype 在第一天有提到说「JS中除了原始型别以外的一切都是物件」. 所以每条正常的[[Prototype]]串链最顶层的尾端都是内置的Object.setPrototypeOf,这个物件含有JS中各地方所用的常见工具,如toString().hasOwnProperty…
前两天说明面向对象的三大特性及JS不符合面向对象,只能称作支持面向对象而已,今天我们来看看JS的原型继承. 首先我们先来看,什么是原型(vmwork): 两个物件之间的原型关系(prototype relationship)跟继承(inheritance)有关: 每个物件都可以有另一个物件作为它的原型(prototype),如此一来,前者就会继承其原型的所有特性. 一个物件藉由内部特性(property)[[Prototype]]来指定其原型. 每个物件都有这个特性,但它可能是null.由[[P…