草庐IT

immutability-helper

全部标签

javascript - 在 react-js 中使用 immutable-js 时使用 PropTypes

我在React中使用immutable-js和react-immutable-proptypes。//CommentBox.jsxgetInitialState(){return{comments:Immutable.List.of({author:'PeteHunt',text:'Heythere!'},{author:'JustinGordon',text:'Alohafrom@railsonmaui'})};},render(){console.log(this.state.comments.constructor);return(Comments);}//CommentList

javascript - 有什么方法可以将 immutable.js 与 lodash 一起使用?

我正在使用immutable.js与我的通量应用程序。它非常有用,可以提高性能。但真正让我难过的是我不能使用lodash。和它一起。Lodash提供了很棒的AP​​I和大量有用的功能,所以我想知道是否有办法将它们组合在一起为我工作? 最佳答案 你可以使用Ramda如果您想要不变性和无副作用的函数。该库提供类似于lodash的有用功能,但采用从不改变用户数据的函数式编程风格。考虑thisReactexample使用ES6语法在Ramda中使用flatten函数。import{flatten}from'ramda';constusers

javascript - 流: Typechecking a complex Immutable shape using fromJS()?

如何使用Flow对从fromJS生成的Immutable.JS数据结构的形状进行类型检查?可以使用对象字面量符号非常准确地键入普通的旧JSblob:typeObjectShape={a:number,b:string,c:{d:number,},e:Array};constobj:ObjectShape={//hyper-accuratea:1,b:'2',c:{d:3,},e:[4]}但是,在Immutable.js方面,似乎有两个主要的并发症:似乎Immutable.js的fromJS方法返回any(https://github.com/facebook/immutable-js/

javascript - 如何将 Immutable JS 与类型化的 ES6 类一起使用?

假设我有课Task和TaskGroupclassTask{constructor(publictext:string){}}classTaskGroup{constructor(publictitle:string="newtaskgroup",publictasks:Task[]=[]){}}然后在我的Angular2服务中,我将创建一个不可变的任务组列表@Injectable()classTaskService{taskGroups:Immutable.List;constructor(){this.taskGroups=Immutable.List([newTaskGroup("

javascript - 在 Immutable.js 中解析嵌套记录

假设我使用Immutable.js定义了以下记录:varAddress=Immutable.Record({street:'',city:'',zip:''});varUser=Immutable.Record({name:'',address:newAddress()});如何将纯javascript对象转换为用户记录?我尝试了以下但它没有产生预期的输出:varuser=newUser({name:'Foo',address:{street:'Bar',city:'Baz'}});//=>Record{"name":"Foo","address":[objectObject]}我知道

javascript - Immutable.js 插入嵌套对象中的数组

假设有一个对象:constobject={'foo':{'bar':[1,2,3]}}我需要将4插入object.foo.bar数组。现在我是这样做的:constinitialState=Immutable.fromJS(object)constnewState=initialState.setIn(['foo','bar',object.foo.bar.length],4)console.log(newState.toJS())但我不太喜欢它,因为我需要在路径中使用object.foo.bar.length。在我的真实示例中,对象嵌套得更深,获取数组的长度看起来非常难看。还有其他更方

javascript - Jquery UI 可拖动 : Align helper to mouse position

使用jQuery我有一个可拖动的元素。这是一个大小为200x40的div。当然,用户可以通过点击div中的不同位置来开始拖动这个div。我想要的是当startdrag事件发生时,助手(克隆)div将始终以相同的方式与光标对齐,无论用户在div中的何处开始拖动。所以在mousedown之后,助手的top和left值需要与鼠标x和y相同。我已经使用这个coffeescript代码试过了:onStartDrag:(e,ui)=>ui.helper.cssleft:e.clientXtop:e.clientYconsole.log(e)但它不起作用,我猜这是因为我输入的值由于鼠标移动而直接被可

javascript - 按字母顺序排序 immutable.js

我想按属性name对immutable.jsorderedList进行排序,data.map(x=>x.get("name"))返回字符串,我想按字母顺序按名称对我的map进行排序。该怎么做?我试过了:returndata.sortBy((val)=>{if(dir==="up"){returnval.get("name");}else{return-val.get("name");}}); 最佳答案 varfiends=Immutable.fromJS([{name:'Squirrel'},{name:'Cat'},{name:'

javascript - 为什么 Immutable.js 在 Map.setIn() 上抛出无效的键路径

我一定是遗漏了什么,因为Docs让它看起来好像下面的代码应该工作得很好但是我得到一个无效的键路径错误...检查thiscodepen.varmap1=Immutable.Map({'selector':{'type':'bar'}});varmap2=map1.setIn(['selector','type'],'foo');console.log(map2.toJS()); 最佳答案 发生这种情况是因为键'selector'具有非Map值。如果我们确保'selector'的值也是一个ImmutableMap,setIn将起作用:v

php - Composer 在新家园上因 kylekatarnls/update-helper 失败

我在一台新电脑上安装了一个homestead。我已经提取了我的代码(它正在我的另一台计算机和服务器上运行)。我的项目是在Laravel5.7中制作的当我执行composerrequiretogetalleverythingto时,我收到此错误:插件kylekatarnls/update-helper无法初始化,找不到类我试过composerclear:cache,重新安装了homestead-7box。没有一个有效。我仍然得到同样的错误但是不管怎样我都会得到同样的错误composerrequire1/5:http://repo.packagist.org/p/provider-late