繁体   English   中英

反应钩子和打字稿-类型'从不'属性'***'不存在

[英]react hooks and typescript - Property '***' does not exist on type 'never'

我从很多角度遇到了这个问题,目前我的代码看起来像这样,并且出现以下错误:

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

我正在使用React挂钩,但是从使用useState更新的data对象中获取错误。 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
        </>
    );
}

尝试这个:

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

然后像这样使用data变量

data!.albums 

! 是让Typescript知道您确定该值不为null 但是更好的方法是显式检查该值是否为null例如data ? data.albums : 'no data' data ? data.albums : 'no data'

PS代替{albums: any}添加您适当的表面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM