0

我刚刚从 Angular 7.1.4 升级到 8.2.0,Typescript 3.1.6 到 3.5.3,RxJS

在升级之前,TS 正确地识别出这个数组项不是未定义的,但现在我得到了这个令人沮丧的编译错误。(注意,我在下面使用 lo-dash,但是如果我使用,也会出现同样的错误if (autoCorrectionData[action.algorithmId] !== undefined) {

src/app/state/edit/edit.reducer.ts(417,29): error TS2532: Object is possibly 'undefined'.

在使用条件检查后,如何让 TypeScript 识别出对象已定义if

*编辑* 这可能与最近对 NGRX 词典的更改有关,但我不知道为什么。字典值现在可以是未定义的。

在此处输入图像描述

4

1 回答 1

0

对代码的这种更改消除了错误,但是......为什么这是必要的?

一位同事建议这可能与最近对 rxjs 的更改有关Dictionary,它指定现在可以未定义值,但这看起来真的很愚蠢。

在此处输入图像描述

于 2019-08-01T21:24:53.030 回答