我正在為反應專案使用型別腳本。我已經為所有值定義了型別,但是 prop.option?我無法獲取名稱的值。請告訴我答案。
type PropTypes = {
option?: OptionType[]
}
type OptionType = {
id?: number
name?: string
price: number
quantity: number
}
function OrderItemPCForm(props: PropTypes) {
console.log('===>', props.option?.name)
return(<div>...</div>)}
Property 'name' does not exist on type 'OptionType[]'.
uj5u.com熱心網友回復:
你的問題是你定義option為一個陣列(不是一個物件)
option?: OptionType[]
這樣當您嘗試從
console.log('===>', props.option?.name)
它將引發錯誤,因為您嘗試從未定義name的option物件中獲取
它有兩種修復方法
第一個是你應該洗掉一個陣列定義option
type PropTypes = {
option?: OptionType //removed `[]`
}
第二個修復可以是
console.log('===>', props.option[index].name) //index can be populated from a loop
但這也取決于您想要實作哪種型別的意圖(陣列或物件option)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445941.html
下一篇:通過元組型別引數映射的正確方法
