реагировать на хуки и машинопись - свойство '***' не существует для типа 'никогда' - PullRequest
0 голосов
/ 03 декабря 2018

Я сталкивался с этим с разных сторон, и в настоящее время мой код выглядит следующим образом, и я получаю следующую ошибку:

Свойство 'album' не существует для типа 'never'

Я использую перехватчики React, но получаю ошибку от объекта data, обновленного useState.data имеет свойство albums, которое я не уверен, как определить, или где это сделать.

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
        </>
    );
}

1 Ответ

0 голосов
/ 03 декабря 2018

Попробуйте это:

const [data, setData] = useState<null | {albums: any}>(null);

Затем используйте переменную data, например

data!.albums 

. ! означает, что машинописная машина знает, что значение не являетсяnull.Но еще лучше явно проверить значение для null, например, data ? data.albums : 'no data'

PS. Вместо {albums: any} добавьте соответствующий интерфейс.

...