Javascript 更新道具数组对象

Javascript 更新道具数组对象,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我有一个数组对象,它被传递到我的组件,并且可以通过@props获得 console.log ( @props.users.pages ) > [ ["Tada", "A"], ["Todo", "B"] ] 实际上,我想给它添加一些东西(一个新数组) 除此之外,您还有什么建议: function add(){ var arr = Array(); arr.push("Toto", "C"); @props.users.pages.push( arr ); @forceU

我有一个数组对象,它被传递到我的组件,并且可以通过@props获得

console.log ( @props.users.pages )
> [ ["Tada", "A"], ["Todo", "B"] ] 
实际上,我想给它添加一些东西(一个新数组)

除此之外,您还有什么建议:

function add(){
  var arr = Array();
  arr.push("Toto", "C");
  @props.users.pages.push( arr );
  @forceUpdate()
}
调用add()后的结果应该是:

console.log ( @props.users.pages )
> [ ["Tada", "A"], ["Todo", "B"], ["Toto", "C" ] 

这里最大的问题是,arr可能会被垃圾收集器破坏,因为它只是本地的,我更喜欢使用@setProps,而不是手动强制更新。

记住文档上说的:

到目前为止,每个组件都基于其道具进行了一次渲染。道具是不可变的:它们从父级传递,并由父级“拥有”


请参见此处。

您应该编写
var-arr
以给它一个本地范围,但在任何情况下都应在
@props.users.pages.push(arr)之后它被另一个对象引用,但不是GCed。是的,对不起,我编辑了我的帖子。我有一个组件不应该编辑它的道具。
add
函数应该调用父组件上的方法,并且父组件应该编辑它作为道具传递的用户数组。是的,它似乎更好:=)ty