繁体   English   中英

在React中单击按钮时将元素从一个数组推送到另一个数组?

[英]push element from one array to another on button click in React?

我正在尝试使用 method.contact() 将我的 old_array 中的元素推送到我的 new_array。 我在数组中的每个元素上都有一个按钮,如下所示:

'''

<li key={i}>
   {{character.name} + "is" + {character.age} + "years old"}
   <button onClick={this.addToNewArray}>Fav</button>
</li>

'''

所以你可以看到每个元素都有一个单独的 id。 现在我想单击按钮将该元素推送到新数组。 (我从 API 获取 i.map() 到我的 old_array 的数据)我的 function 看起来像这样:

'''

constructor(props){
        super(props);
        this.state = {
            old_arary: [],
            new_array: []
        }
    }
addToNewArray = () => {
        let new_array = this.state.new_array.contact(this.state.old_array);
        this.setState({ new_array: new_array})

}

'''

这就是我想要我的 output 的地方:

'''

<li>
   {this.state.new_array}
</li>

'''

第一的:

在您的问题中,您到处都在使用contact() ,我认为JS中的数组没有这样的function :),应该是concat()

第二:

您可以将 ES6 用于较低的代码,如下所示:

let new_array = [...this.state.new_array , ...this.state.old_array];
this.setState({ new_array });

第三:

改变这个

<li>
   {this.state.new_array}
</li>

至:

{
    this.state.new_array.map((obj,index) => (
        <li key={index}>
            {obj.name}
        </li>
    ))
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM