reactjs - Hvis jeg bruker en TypeScript-tuple i min React-app får jeg en ESLint-feil på linje 1 i VSCode?
Feilen er Parsing error: Cannot read property 'map' of undefined
Jeg opprettet en ny fil bare for å gjenskape feilen:
export default () => {
let something: [string, boolean]
something = ['something', true];
}
Mangler jeg noe? Alle andre typer ser ut til å fungere fint.
Svar #1
Problemet
Problemet er når du opprettet tuple-typen [string, boolean] dette er en ny måte å erklære typer med arrayer på som ble introdusert i Typescript 4.0 kalt Labeled Tuple Types.
Løsningen
Oppgrader dine react-scripts til v4 (Her er problemet på deres GitHub). Hvis du bruker yarn, bruk kommandoen yarn upgrade [email . Med npm bør det være noe lignende, du kan prøve npm install [email
Svar #2
Hvis jeg forstår deg riktig, her er løsningen din (du trenger ikke å opprette en let for å registrere typene, men spesifiser direkte i funksjonen hvilke typer den vil returnere)
// main.ts
export default (): [string, boolean] => {
return ["something", true];
};
Og hvis du trenger å kalle denne koden, oppretter du bare en slik komponent (eksempel):
import foo from "./main.ts"
const App = () => {
return (
<div>
{foo().map(el =>
<div>
{el}
</div>
)}
</div>
)
};
