Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 不可变JS列表大小_Reactjs_Typescript_Size_Immutable.js_Immutablelist - Fatal编程技术网

Reactjs 不可变JS列表大小

Reactjs 不可变JS列表大小,reactjs,typescript,size,immutable.js,immutablelist,Reactjs,Typescript,Size,Immutable.js,Immutablelist,我不知道不可变的JS列表大小会增长多少 就像官方文档中的例子一样,在一个不可变的js列表中推送一些东西会自动增大大小 在我的代码中: const list: List = List(); list.push(object); console.log(list, list.size); 我在Console中的输出是: (1) object length: 1 ___proto___: Array(0) undefined 这与aspected输出有很大不同。 并没有大小,若我在我的代码类型脚

我不知道不可变的JS列表大小会增长多少

就像官方文档中的例子一样,在一个不可变的js列表中推送一些东西会自动增大大小

在我的代码中:

const list: List = List();
list.push(object);
console.log(list, list.size);
我在Console中的输出是:

(1) object
length: 1
___proto___: Array(0)

undefined
这与aspected输出有很大不同。 并没有大小,若我在我的代码类型脚本中使用长度,告诉我它在列表中不存在“长度”。 我将React与Typescript和Immutable.JS一起使用


有人知道会发生什么吗?

不变性意味着操作不会更改原始对象,而是创建一个新对象

在您的情况下,
push
方法将返回一个包含所有旧元素和您刚刚添加的新元素的new列表

您的代码应该是这样的

const list:list=list();
const newList=list.push(对象);
日志(列表,列表,大小);
log(newlist,newlist.size);

这应该为
list
变量打印大小为0的列表,为
newList
变量打印大小为1的列表。

push方法返回一个新的不可变列表,即您应该检查大小的列表,而不是原始列表。