我不知道不可变 JS 列表大小将如何增长。
如官方文档中的示例 https://facebook.github.io/immutable-js/docs/#/List/push ,在不可变的 js 列表中推送某些内容将自动增加大小。
在我的代码中:
const list: List = List();
list.push(object);
console.log(list, list.size);
我在控制台中的输出是:
(1) object
length: 1
___proto___: Array(0)
undefined
这与切面输出确实不同。
没有大小,如果我在我的代码中使用长度 Typescript 告诉我它在 List 中不存在“长度”。
我将 React 与 Typescript 和 Immutable.JS 一起使用
有人知道会发生什么吗?
最佳答案
不变性意味着操作不会改变原始对象,而是创建一个新对象。
在你的情况下 push
方法将返回 新品 列出所有旧元素和刚刚添加的新元素。
您的代码应该如下所示。
const list: List = List();
const newList = list.push(object);
console.log(list, list.size);
console.log(newlist, newlist.size);
这应该为
list
打印大小为 0 newList
的变量和大小为 1多变的。
关于reactjs - 不可变的 JS 列表大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52724080/