Heim  >  Fragen und Antworten  >  Hauptteil

TS-Fehler reagieren: Fehlende Eigenschaften bei Verwendung von Typen

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粉539055526P粉539055526220 Tage vor381

Antworte allen(1)Ich werde antworten

  • P粉904450959

    P粉9044509592024-04-05 12:25:18

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

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

    最好将您的属性命名为 brandsngenders

    Antwort
    0
  • StornierenAntwort