【发布时间】:2017-10-05 18:50:05
【问题描述】:
我正在关注 WintellectNow React 与 TypeScript 教程。在第五部分排序和过滤中,作者创建了一个带有可选属性的接口,如下所示:
interface IWidgetToolState {
filterCol?: WidgetTableCols;
filterValue?: string;
sortCol?: WidgetTableCols;
}
有一个名为 WidgetTableCols 的枚举,如下所示:
enum WidgetTableCols {
None, Name, Color, Size, Quantity, Price,
}
在一个函数中,作者像这样获取枚举的值:
const fName: string =
WidgetTableCols[this.state.sortCol].toLocaleLowerCase();
我在这里得到类型 undefined 不能用作索引类型。如果我从界面中删除 ? 它可以工作,但后来作者创建了另一个只设置一个状态值的函数,TypeScript 说并非所有状态属性都已设置。
谁能告诉我如何解决这个问题?
【问题讨论】:
-
你在用
strictNullChecks吗? -
是的,strictNullChecks 为真。我把它改成了假的。现在它的工作。
标签: javascript reactjs typescript