reactjs - Egenskap mangler i typefeil


Jeg har et problem med å jobbe gjennom et demo React-prosjekt. De fleste problemene stammer fra at jeg prøver å implementere det i Typescript der de bruker Javascript. Dette gist er min app.tsx-fil.

https://gist.github.com/jjuel/59eed01cccca0a7b4f486181f2a14c6c

Når jeg kjører dette, får jeg feil som har med grensesnittet å gjøre.

FEIL i ./app/app.tsx (38,17): feil TS2324: Egenskapen 'humans' mangler i typen 'IntrinsicAttributes & IntrinsicClassAttributes & AppProps & { children?: ReactElement |...}'.

FEIL i ./app/app.tsx (38,17): feil TS2324: Egenskapen 'stores' mangler i typen 'IntrinsicAttributes & IntrinsicClassAttributes & AppProps & { children?: ReactElement |...}'. webpack: bundlet er nå GYLDIG.

Jeg har ingen anelse om hva som skjer med dette. Vet noen hva problemet mitt kan være? Takk!

Svar #1

Du har følgende grensesnitt :

interface AppProps {
    humans: any;
    stores: any;
}

Hva du sier er at App må sendes inn i humans og stores. Men du initialiserer det som <App /> i ReactDOM.render(<App />, document.getElementById('main')); uten egenskapene. Dette er TypeScript som gir deg feil om det du sa var den tiltenkte bruken. Det er en feil som å ha en funksjon med argumenter men kalle den uten å sende inn noen.

Fiks

Kanskje disse egenskapene er valgfri for deg? Hvis ja, erklær det som sådan:

interface AppProps {
    humans?: any;
    stores?: any;
}

Ellers gi dem for eksempel <App humans={123} stores={123} /> (eksempler på forekomster av mennesker og butikker).

Relaterte artikler