Javascript 更新道具数组对象
我有一个数组对象,它被传递到我的组件,并且可以通过@props获得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
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