要我Immutable.js减少很多麻烦,这是一个伟大的图书馆,但我现在有麻烦了面对,我原来的对象来自服务器,但是当我用到它的功能,如fromJS({myObj})
它的工作原理,但保存副本,但排序“az”,我做了一些需要原始结构的东西,以保持组件的顺序来自服务器,有人任何想法?避免使用排序immutable.js
1
A
回答
0
Javascript核心对象明确没有提供有关按键顺序的保证。 Immutable.Map
(您的fromJS()
调用的预期结果)就是这样。
如果您想要订购,您应该将订单指定为每个项目的另一个属性,或者更常规地从Array
创建一个Immutable.List
。
换句话说,这听起来像一个方形挂钩/圆孔问题。确保你的任务使用了正确的数据结构。
2
fromJS
默认情况下将您的对象转换为lists
和maps
。前者是有序的,但没有键控,而后者是键控的,但没有命令,所以都不适合你的用例。
什么你要找的是一个OrderedMap
,这是一个Map
有额外的插入顺序保证:
import { OrderedMap } from 'immutable';
const orderedMap = OrderedMap({key: "value"});
+0
你先生,是救命啊! –
相关问题
- 1. 避免使用NSSortDescriptor排序
- 2. 避免排序在NSDictionary
- 3. 的jQuery可排序:避免
- 4. 避免与INNER JOIN +排序
- 5. 避免除排序依据
- 6. MySQL的 - 避免文件排序
- 7. 避免在JSP页面中排序
- 8. 在T-SQL中避免排序
- 9. as.numeric如何避免默认排序
- 10. 如何避免React组件中的Immutable.JS函数/访问器
- 11. NSTableView:在排序表格列时避免使用蓝色标题
- 12. 使用Python来表示合并排序,如何避免IndexError
- 13. 如何在使用复合索引时避免排序?
- 14. 如何通过使用临时避免令,文件排序
- 15. 排序和分组的Immutable.js列表
- 16. 避免使用OOP
- 17. 避免使用javascript
- 18. 避免使用ServiceLocator
- 19. 避免使用Session.set
- 20. 避免使用C#
- 21. 如何避免使用XSD
- 22. 如何避免使用Object.assign?
- 23. 避免使用if子句
- 24. 避免使用Unicode 1.1(html)
- 25. 避免使用SET TRUSTWORTHY ON
- 26. 避免使用DTO类?
- 27. 避免同时使用XMPP
- 28. 如何避免使用ssh
- 29. JPQL - 避免使用加入
- 30. 如何避免使用Thread.Sleep
我尝试使用Immutable.List我得到了相同的结果,反正感谢。 下面是一个例子 [链接](https://jsfiddle.net/normanfx/sdufb9ac/) – Norman
@Norman您的代码接近。对象属性不会保持其顺序。如果你想要项目有一个订单,你需要将它们存储在'List'中:'var myOrderedObj = Immutable.fromJS({name:'thing',orderedProps:[{size:1},{weight:2}] })'。然而,这是一件很奇怪的事情。 –
:/好吧,我想我会用那个开始一些事情:)谢谢Trevor。 – Norman