gpt4 book ai didi

javascript - 在 handleChange、setState 和 map 数组上,新项目取决于 setedState

转载 作者:行者123 更新时间:2023-11-30 09:40:58 27 4
gpt4 key购买 nike

我正在尝试动态地用旧数组填充新数组,具体取决于 settedState 中的 id,这是代码。“我不能让它工作”

    handleChange: function (e) {
var self = this;
this.setState({ targetid: e.target.value });
var newArr = [];
newArr = this.state.data.filter(function(item){
return item.id === self.state.targetid;
}).map(function (item) {
return item;
})

this.setState({targetArr : newArr})
}

我真的不知道该怎么做,如果有人需要更多解释,请告诉我。

最佳答案

setState 不是同步函数,您尝试在写入之前读取状态。您可以访问 targetid 而无需在状态中设置它。请尝试使用此代码:

handleChange: function (e) {
var targetid = e.target.value;

var newArr = this.state.data.filter(function(item){
return item.id === targetid;
});

this.setState({
targetArr: newArr,
targetid: targetid
});
}

关于javascript - 在 handleChange、setState 和 map 数组上,新项目取决于 setedState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41199706/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com