在 React 中单击按钮将元素从一个数组推送到另一个数组?
push element from one array to another on button click in React?
我正在尝试使用 .contact() 方法将我的 old_array 中的元素推送到我的 new_array。
我在数组中的每个元素上都有一个按钮,如下所示:
´´´
<li key={i}>
{{character.name} + "is" + {character.age} + "years old"}
<button onClick={this.addToNewArray}>Fav</button>
</li>
´´´
所以你可以看到每个元素都有一个单独的 ID。现在我想单击按钮将该元素推送到一个新数组。 (我从 API 获取数据,我将 .map() 放入我的 old_array 中)我的函数如下所示:
´´´
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})
}
´´´
这是我想要输出的地方:
´´´
<li>
{this.state.new_array}
</li>
´´´
第一个:
在你的问题中,你到处都在使用contact()
,我认为JS中没有数组这样的功能:),应该是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>
))
}
我正在尝试使用 .contact() 方法将我的 old_array 中的元素推送到我的 new_array。 我在数组中的每个元素上都有一个按钮,如下所示:
´´´
<li key={i}>
{{character.name} + "is" + {character.age} + "years old"}
<button onClick={this.addToNewArray}>Fav</button>
</li>
´´´
所以你可以看到每个元素都有一个单独的 ID。现在我想单击按钮将该元素推送到一个新数组。 (我从 API 获取数据,我将 .map() 放入我的 old_array 中)我的函数如下所示:
´´´
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})
}
´´´
这是我想要输出的地方:
´´´
<li>
{this.state.new_array}
</li>
´´´
第一个:
在你的问题中,你到处都在使用contact()
,我认为JS中没有数组这样的功能:),应该是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>
))
}