繁体   English   中英

React state object 属性被设置为未定义

[英]React state object attribute is getting set as undefined

我有以下 state object 初始化称为 myCriteria

const [myCriteria, setMyCriteria] = useState({
    myFieldStatusDropdown: myFieldStatusDropdown,
    selectedMyFieldStatus: myVarMyFieldStatusDropdown?.value,
});

现在我在这条线的正上方设置了断点

setMyCriteria({
    ...myCriteria,
    selectedMyFieldStatus: myCriteria.myFieldStatusDropdown[0]
});

在断点处,我检查并查看 myCriteria.myFieldStatusDropdown 如下

[
{
    code: 'Select',
    value: 'Select'
}, {
    code: 'AA',
    value: 'A 1'
}, {
    code: 'BB',
    value: 'B 1'
}
]

但是由于某些奇怪的原因,在执行 setMyCriteria 行之后,当我检查 myCriteria.selectedMyFieldStatus 的值时,它是错误的,即它没有被设置为

{
    code: 'Select',
    value: 'Select'
}

它被设置为未定义

不确定为什么它被设置为未定义

我简单地使用myCriteria进行了初始化,并以数组的形式将三个对象放入其中

 var myFieldStatusDropdown = [
    {
        code: 'Select',
        value: 'Select'
    }, {
        code: 'AA',
        value: 'A 1'
    }, {
        code: 'BB',
        value: 'B 1'
    }
]

 const [myCriteria, setMyCriteria] = useState({
    myFieldStatusDropdown: myFieldStatusDropdown,
    selectedMyFieldStatus: myFieldStatusDropdown[1]
});

然后我使用setMyCriteria来更新myCriteria

 setMyCriteria({
    ...myCriteria,
    selectedMyFieldStatus: myFieldStatusDropdown[0]
},[myCriteria]);

暂无
暂无

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

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