gpt4 book ai didi

javascript - 分配新值时分布器出现问题

转载 作者:行者123 更新时间:2023-12-02 23:45:29 24 4
gpt4 key购买 nike

我正在尝试根据传入的索引变量分配一个新值,但它在我的状态下没有更新。它的目的是切换一个对象数组,该数组将允许条件渲染,但当我对我的状态进行控制台日志时,它并没有改变。

this.state = {
value: 0,
metadata: MetaDataData,
togglePanel: false,
activeItem: {0: false, 1: false, 2: false}
};

toggleActiveItem = (activeIndex) => {
const index = activeIndex
this.setState((prevState) => {
return {...prevState.activeItem, [index]: !prevState.activeItem[index]}
})
}

例如,当使用传入的索引零调用此函数时,我希望第 0 个实例从 false 更改为 true。

最佳答案

它不起作用,因为您没有引用该对象

activeItem: {0: false, 1: false, 2: false}

通过展开,您更新了 activeItem,但您没有将其设置为当前状态

试试这个:

this.state = {
value: 0,
metadata: MetaDataData,
togglePanel: false,
activeItem: {0: false, 1: false, 2: false}
};

toggleActiveItem = (activeIndex) => {
const index = activeIndex
this.setState((prevState) => {
const newState = {...prevState.activeItem, [index]: !prevState.activeItem[index]}
return {activeItem: newState}
})
}

关于javascript - 分配新值时分布器出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55876945/

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