我从很多角度遇到了这个问题,目前我的代码看起来像这样,并且出现以下错误:
类型“从不”的属性“相册”不存在
我正在使用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
</>
);
}
答案 0 :(得分:3)
尝试一下:
const [data, setData] = useState<null | {albums: any}>(null);
然后使用data
变量,如
data!.albums
!
是让打字稿知道您确定该值不是null
。但更好的方法是显式检查null
的值,例如data ? data.albums : 'no data'
P.S。代替{albums: any}
添加适当的界面。