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).
