这类似于#40796374,但这是围绕类型,而我使用接口。

给定下面的代码:

接口Foo { 名称:字符串; } 函数go() { 让实例:Foo | null = null; Let mutator = () => { 实例= { 名称:“字符串” }; }; mutator (); If (instance == null) { console.log('实例为空或未定义'); }其他{ console.log (instance.name); } }

我有一个错误说'属性'名称'不存在类型'从不'。

我不明白实例怎么会是一个“永远”。有人能解释一下吗?


当前回答

你可以这样输入:

const[数据,setData] = useState<Array>([];

其他回答

我用下面的表达方式遇到了这个问题:

Const node = item ?<a href={item.link}>{item.name}</a>: item.name

else部分item。name表示属性" name "在类型" never "上不存在。

这是因为如果item对象中什么都没有,那么name属性也不可能存在。

所以当你声明一些基本不可能的事情时,这个警告就会发生(这就是为什么它从来没有)

当我忘记为变量定义类型时,就发生了这种情况。

我有同样的错误,把点符号换成了括号符号来抑制它。

例如:

obj.name -> obj['name']

有时,初始值可能为空。 在这种情况下,你可能会说例子

让val = data。notificationId——>这里它会抛出一个错误。 所以我们可以简单地写出来 let val = data && data. notificationid

在我自己的例子中,当我初始化数组时。我使用:

selectedActors: any = [];

所以一开始它是“动态的”