reactjs - react hooks și typescript - Proprietatea '***' nu există pe tipul 'never'
Am întâlnit acest lucru din numeroase unghiuri, și în prezent codul meu arată astfel, și primesc următoarea eroare:
Proprietatea 'albums' nu există pe tipul 'never'
Folosesc React hooks, dar primesc o eroare de la obiectul data actualizat cu useState. data are o proprietate albums pe care nu sunt sigur cum să o definesc sau unde să fac acest lucru.
import React, { useState } from 'react';
interface ArtistProps {
artistName: string,
}
const Artist: React.SFC< ArtistProps > = ({ artistName }) => {
const [data, setData] = useState(null);
return (
<>
<p>{artistName)}</p> // this is fine
<p>{data.albums}</p> // error here
</>
);
}
Răspuns #1
Încearcă asta:
const [data, setData] = useState<null | {albums: any}>(null);
Apoi folosește variabila data astfel
data!.albums
! servește pentru a informa TypeScript că ești sigur că valoarea nu este null. Dar și mai bine este să verifici explicit valoarea pentru null, de exemplu data ? data.albums : 'fără date'
P.S. În loc de {albums: any} adaugă interfața ta corespunzătoare.
