Heim > Fragen und Antworten > Hauptteil
Ich versuche, ein Filtersystem zu bauen und stoße auf ein Problem. Ich habe mehrere Typen eingerichtet:
type Brand = { brand:string; checked:boolean; } type Gender = { gender: "Male" | "Female" | "Kids"; checked:boolean; } type Shoes = { brand:Brand; gender:Gender; }
Dann versuche ich, ein useState-Objekt wie folgt zu erstellen:
const [filterState,setFilterState] = useState<Shoes>({ brand:[ { brand:'New Balance', checked: false, }, { brand:'Nike', checked: false, }, { brand:'Addiddas', checked: false, }, { brand:'Puma', checked: false, }, { brand:'Converse', checked: false, }, { brand:'Under Armour', checked: false, }, ], gender:[{ gender:'Male', checked:false, }, { gender:'Female', checked:false, }, { gender:'Kids', checked:false, } ], });
Bei wichtigen Marken und Geschlechtern erhalte ich jedoch Fehler wie diese:
Type '{ brand: string; checked: false; }[]' is missing the following properties from type 'Brand': brand, checked
Auch wenn ich alle Typattribute hinzugefügt habe. Jede Hilfe wäre sehr dankbar.
P粉9044509592024-04-05 12:25:18
您需要指定您的 brand
属性和 gender
属性是数组:
type Shoes = { brand: Brand[]; // or Arraygender: Gender[]; // or Array }
最好将您的属性命名为 brands
和 ngenders
。