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.