immutableJS一些API
原生js转换为immutableData
Immutable.fromJS([1,2]) // immutable的 list
Immutable.fromJS({a: 1}) // immutable的 map
从immutableData 回到 JavaScript 对象
immutableData.toJS()
判断两个immutable数据是否一致
Immutable.is(immutableA, immutableB)
判断是不是map或List
Immutable.Map.isMap(x)
Immutable.Map.isList(x)
对象合并(注意是同个类型)
immutableMaB = immutableMapA.merge(immutableMaC)
Map的增删查改
查
immutableData.get('a') // {a:1} 得到1。
immutableData.getIn(['a', 'b']) // {a:{b:2}} 得到2。访问深层次的key
增和改(注意不会改变原来的值,返回新的值)
immutableData.set('a', 2) // {a:1} 得到1。
immutableData.setIn(['a', 'b'], 3)
immutableData.update('a',function(x){return x+1})
immutableData.updateIn(['a', 'b'],function(x){return x+1})
删
immutableData.delete('a')
immutableData.deleteIn(['a', 'b'])
List的增删查改
如同Map,不过参数变为数字索引。
比如immutableList.set(1, 2)
其它便捷函数
如同underscore的方法,都有噢。
参考
http://facebook.github.io/immutable-js/docs/#/
https://segmentfault.com/a/1190000002909224
immutableJS一些API的更多相关文章
- React 性能调优总结
React 性能调优总结 首先要说一个库: why-did-you-update, 地址:why-did-you-update, 利用这个库可以在页面上快速看到多余渲染的问题: 因为多数情况下我们在R ...
- redux、immutablejs和mobx性能对比(一)
一.前言 关于react的性能优化,有很多方面可以去做,而其中避免重复渲染又是比较重要的一点,那么为什么react会重复渲染,我们又该如何避免重复渲染呢,关于这方面官方其实早有说明:避免重复渲染,这里 ...
- immutable.js 在React、Redux中的实践以及常用API简介
immutable.js 在React.Redux中的实践以及常用API简介 学习下 这个immutable Data 是什么鬼,有什么优点,好处等等 mark : https://yq.aliyu ...
- ImmutableJS
引用大神的一句话:(具体是谁自己问度娘) Shared mutable state is the root of all evil(共享的可变状态是万恶之源) -- Pete Hunt JavaS ...
- 干货来袭-整套完整安全的API接口解决方案
在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...
- 12306官方火车票Api接口
2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...
- 几个有趣的WEB设备API(二)
浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- JavaScript 对数据处理的5个API
JavaScript对数据处理包括向上取整.向下取整.四舍五入.固定精度和固定长度5种方式,分别对应ceil,floor,round,toFixed,toPrecision等5个API,本文将对这5个 ...
随机推荐
- 【iCore3 双核心板_FPGA】实验二十一:Niosii——基于内部RAM建立第一个软核
实验指导书及代码包下载: http://pan.baidu.com/s/1boLbBdl iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- mac 下面wireshark 找不到网卡
终端上面,执行如下命令: sudo chgrp admin /dev/bpf* sudo chmod g+rw /dev/bpf* http://www.9upk.com/article/25 ...
- java基础学习总结——基础语法2
一.语句
- Codevs 1022 覆盖
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 有一个N×M的单位方格中,其中有些方格是水塘,其他方格是陆地.如果要用1×2的矩 ...
- rabbitmq之work_pool
worker_pool_worker的作用是用来完成数据操作. 如何获取worker是从worker_pool里获取,并由worker_pool管理. 起动时间: -rabbit_boot_step( ...
- NPOI操作excel之读取excel数据
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 一.下载引用 去NPOI官网http://npoi.codeplex. ...
- ORA-12631 / TNS-12631: Username retrieval failed
From Metalink: Problem Description:====================When your server is not connected to the netw ...
- LUA表克隆方法归纳
lua表克隆 将lua一个表, 克隆出一份为一个独立的另外一个表. 对于一个module, 如果在require之后,获得的表对象, 不能直接修改, 例如lua缓存此表, 但是多次逻辑执行, 都使用的 ...
- SQL-乐观锁,悲观锁之于并发
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...
- 对hashmap与hashcode()、equals()的理解
1.equals方法没被重写的时候 比较的只是对象的地址 重写之后 比较的才是对象里的内容 2.重写equals的时候 务必需要重写hashcode 不然在用到容器的时候 会出现问题 因为容器会 ...