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 将项添加到数组(挂钩)中_Reactjs_React Hooks_React Props_Use State - Fatal编程技术网

Reactjs 将项添加到数组(挂钩)中

Reactjs 将项添加到数组(挂钩)中,reactjs,react-hooks,react-props,use-state,Reactjs,React Hooks,React Props,Use State,我看了一个关于js的课程 并在其中向数组(钩子)添加一个新项,如下所示: useState([new item , old Array]); 但我重复一下,数组变成了一个对象 无论我搜索什么,我都看到了以下结果: useState([ old array ,new item ]); 但是,该方法在使用React hook向数组中添加项的过程中效果很好,您需要使用spread操作符获取旧数组,然后添加新项 setState([…oldArray,newItem])要使用React钩子将项目添加

我看了一个关于js的课程 并在其中向数组(钩子)添加一个新项,如下所示:

useState([new item , old Array]);
但我重复一下,数组变成了一个对象

无论我搜索什么,我都看到了以下结果:

useState([ old array ,new item ]);

但是,该方法在使用React hook向数组中添加项的过程中效果很好,您需要使用spread操作符获取旧数组,然后添加新项


setState([…oldArray,newItem])

要使用React钩子将项目添加到数组中,需要使用spread操作符获取旧数组,然后添加新项目


setState([…oldArray,newItem])

您应该使用排列运算符:setState(prev=>[…prev,newItem])

应该使用排列运算符:setState(prev=>[…prev,newItem])

使用react钩子更新数组的更好方法是将回调函数传递给钩子,如下所示:

setState((oldState)=>[…oldState,newItem])

这被认为是一种最佳实践,比直接传播旧状态更有效。

使用react钩子更新数组的更好方法是将回调函数传递给钩子,如下所示:

setState((oldState)=>[…oldState,newItem])

这被认为是一种最佳实践,比直接传播旧的状态要有效得多。

我尝试过,但结果是same@Morteza.s17确保在更新时使用setState函数,而不是useState,这是您在问题中遇到的问题。我尝试了这个方法,但结果是same@Morteza.s17确保您使用设置state函数,更新时不使用state,这是您的问题所在