当前位置: 首页 > news >正文

提交收录网站百度seo排名360

提交收录网站,百度seo排名360,wordpress 归档 如何使用,手机网站底部固定菜单介绍 在提供不可变(Immutable)数据结构的支持。不可变数据是指一旦创建后就不能被修改的数据,每次对数据进行更新都会返回一个新的数据对象,而原始数据保持不变。 使用 日常中我们使用的拷贝 (1) var arr { } ; arr2 arr ; …

介绍

在提供不可变(Immutable)数据结构的支持。不可变数据是指一旦创建后就不能被修改的数据,每次对数据进行更新都会返回一个新的数据对象,而原始数据保持不变。

使用

日常中我们使用的拷贝

(1) var arr = { } ; arr2 = arr ;
(2) Object.assign() 只是一级属性复制,比浅拷贝多拷贝了一层而已。
(3) const obj1 = JSON.parse(JSON.stringify(obj)); 数组,对象都好用的方法 ( 缺点 : 不能有 undefined)

原理

Immutable 实现的原理是 Persistent Data Structure(持久化数据结构),也就是使用旧数据创建新数据时,要保证旧数据同时可用且不变。同时为了避免 deepCopy 把所有节点都复制一遍带来的性能损耗, Immutable 使用 了 Structural Sharing(结构共享),即如果对象树中一个节点发生变化,只修改这个节点和受它影响的父节点, 其它节点则进行共享。


使用方式


Map:

const { Map } = require('immutable');
const map1 = Map({ a: 1, b: 2, c: 3 });
const map2 = map1.set('b', 50);
map1.get('b') + " vs. " + map2.get('b'); // 2 vs. 50

List:

const { List } = require('immutable');
const list1 = List([ 1, 2 ]);
const list2 = list1.push(3, 4, 5);
const list3 = list2.unshift(0);
const list4 = list1.concat(list2, list3);
assert.equal(list1.size, 2);
assert.equal(list2.size, 5);
assert.equal(list3.size, 6);
assert.equal(list4.size, 13);
assert.equal(list4.get(0), 1);
//push, set, unshift or splice 都可以直接用,返回一个新的immutable对象
merge , concat
const { Map, List } = require('immutable');
const map1 = Map({ a: 1, b: 2, c: 3, d: 4 });
const map2 = Map({ c: 10, a: 20, t: 30 });
const obj = { d: 100, o: 200, g: 300 };
const map3 = map1.merge(map2, obj);
// Map { a: 20, b: 2, c: 10, d: 100, t: 30, o: 200, g: 300 }
const list1 = List([ 1, 2, 3 ]);
const list2 = List([ 4, 5, 6 ]);
const array = [ 7, 8, 9 ];
const list3 = list1.concat(list2, array);
// List [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

Immutable+Redux的开发方式

//reducer.js
const initialState = fromJS({
category:"",
material:""
})
const reducer = (prevstate = initialState,action={})=>{
let {type,payload} = action
switch(type){
case GET_HOME:
var newstate =prevstate.set("category",fromJS(payload.category))
var newstate2 =newstate.set("material",fromJS(payload.material))
return newstate2;
default:
return prevstate
}
}
//home.js
const mapStateToProps = (state)=>{
return {
category:state.homeReducer.getIn(["category"]) || Map({}),
material:state.homeReducer.getIn(["material"]) || Map({})
}
}
this.props.category.get("相关属性")
this.props.category.toJS() //或者转成普通对象

http://www.mmbaike.com/news/80856.html

相关文章:

  • 秦皇岛网站建设报价seo中心
  • 什么是网站app培训报名
  • 怎样做网站排名专业网站推广引流
  • seo自学网app百度搜索怎么优化
  • 门户网站是用户上网的第一入口蚂蚁链接bt链接
  • 官方网站侵权百度关键字排名软件
  • 湖北建设招标网 官方网站友情链接买卖代理
  • 建网站和开发软件哪个难百度推广费用一年多少钱
  • 西安便宜网站建设足球世界排名国家最新
  • 网站开发程序设计权重查询
  • 洛阳做网站公司有哪些安卓aso优化排名
  • 网站分享组件seo研究中心怎么样
  • dw做的网站后台是什么互联网广告投放
  • 深圳网站建设 手机网站建设不限制内容的搜索引擎
  • 建设企业银行官网长沙百度seo
  • 潮安区住房和城乡建设局网站sem竞价开户
  • 建设摩托车是名牌吗关键词优化到首页怎么做到的
  • 南京哪个网站做物业贷今日竞彩足球最新比赛结果查询
  • 手机网站客户端设计与实现网推怎么做
  • 做文字云的网站查关键词排名软件
  • 武汉营销型网站建设公司哪家专业网络策划与营销
  • wordpress果酱二维码贵阳百度快照优化排名
  • 有专业做网站的吗gre考play商店
  • 做视频怎样传到网站百度数据查询
  • 泰安人力资源和社会保障局优化20条措施
  • 个人做网站需要多少钱成全在线观看免费高清动漫
  • 网站服务器买了后怎么做百度网页高级搜索
  • 上饶做网站哪家好建立一个网站需要多少钱
  • 自己做的创意的网站湖南网站建设平台
  • 椒江哪里可以做公司网站社群营销的案例