TS-Fehler reagieren: Fehlende Eigenschaften bei Verwendung von Typen
P粉539055526
P粉539055526 2024-04-05 00:24:10
0
1
456

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粉539055526
P粉539055526

Antworte allen(1)
P粉904450959

您需要指定您的 brand 属性和 gender 属性是数组:

type Shoes = {
    brand: Brand[]; // or Array
    gender: Gender[]; // or Array
}

最好将您的属性命名为 brandsngenders

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage