9

我从很多角度都遇到过这个问题,目前我的代码看起来像这样,我收到以下错误:

“从不”类型上不存在属性“相册”

我正在使用 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
        </>
    );
}
4

1 回答 1

11

尝试这个:

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

然后使用data像这样的变量

data!.albums 

!是为了让 typescript 知道您确定该值不是null. 但更好的是明确检查null例如的值data ? data.albums : 'no data'

PS 而不是{albums: any}添加适当的接口。

于 2018-12-03T17:07:50.667 回答