我正在关注 WintellectNow React 和 TypeScript 教程。在第五部分排序和过滤中,作者创建了一个具有可选属性的界面,如下所示:
interface IWidgetToolState {
filterCol?: WidgetTableCols;
filterValue?: string;
sortCol?: WidgetTableCols;
}
有一个名为 WidgetTableCols 的枚举,如下所示:
enum WidgetTableCols {
None, Name, Color, Size, Quantity, Price,
}
在一个函数中,作者像这样获取 enum 的值:
const fName: string =
WidgetTableCols[this.state.sortCol].toLocaleLowerCase();
在这里我得到类型“未定义”不能用作索引类型。如果我删除?从接口它工作但后来作者创建了另一个函数,它只设置一个状态值,typescript说不是所有的状态属性都被设置。
任何人都可以让我知道如何解决这个问题。
提前致谢。