我正在尝试根据一组值动态设置状态



我有这些复选框,我正在通过他们的ID控制状态,但我收到错误,因为我正在使用不受控制的组件,因为状态最初未设置。我正在尝试根据未知值呈现状态。

我正在尝试做这样的事情

我正在尝试动态设置初始状态

const [deliveredBoxes, setDelivered] = useState({
orders.map((order, i) => {
[order.transactionID]: order.orderDelivered
})
});
<块引用类>

解析错误:意外标记,预期",">

这就是我想出的,尽管初始状态仍未设置

const [deliveredBoxes, setDelivered] = useState([]);
useEffect(() => {
orders.map((order, i) => {
setDelivered({
...deliveredBoxes,
[order.transactionID]: order.orderDelivered
});
});
}, []);

您必须像下面这样更新代码。

解决方案 1:只需在map函数中添加(

const [deliveredBoxes, setDelivered] = useState({
orders.map((order, i) => (
{
[order.transactionID]: order.orderDelivered
}
));
});

解决方案 2:添加{并在map函数中返回object

const [deliveredBoxes, setDelivered] = useState({
orders.map((order, i) => {
return {
[order.transactionID]: order.orderDelivered
}
})
});

希望这对您有所帮助!

我认为你需要使用另一个钩子useEffect。 请尝试此操作是否有效。

const [deliveredBoxes, setDelivered] = useState([]);
useEffect(()=>{
orders.map((order, i) => {
[order.transactionID]: order.orderDelivered
}
setDelivered(orders);
, [])

相关内容

  • 没有找到相关文章

最新更新