提问人:Chris 提问时间:8/21/2022 最后编辑:funnydmanChris 更新时间:8/21/2022 访问量:271
如何键入嵌套对象?
How to type a nested object?
问:
我想键入一个对象以将其包含在 React 状态中。这是一个购物车对象,其中包含几个产品 ID 及其道具。
对象:
{
"1047151242": {
"name": "Item 1 name",
"price": 22.99,
"quantity": 2,
"subtotal": 45.98
},
"3327300382": {
"name": "Item 2 name",
"price": 90.49,
"quantity": 2,
"subtotal": 180.98
}
}
等,其中产品 ID 可以是相同格式的任何字符串。
然后引用该类型:
const [cart, setCart] = useState<CartInterface>(CartState);
答:
1赞
soffyo
8/21/2022
#1
如果我理解正确,你只需要一个类型
type CartInterface = {
[s: string]: {
name: string;
price: number;
quantity: number;
subtotal: number;
}
}
现在,当您像您提到的那样使用它时,将是 .
如果这回答了您的问题,我建议您更深入地阅读打字稿文档。
您可以查看此 Playground 链接以查看其运行情况。cart
CartInterface
评论
1赞
Chris
8/21/2022
谢谢soffyo!我读书,也读书。我无法弄清楚的是 [s: string] 位。现在我看到了你的例子,我明白了它是如何工作的。感谢您的指点,非常感谢!
评论