在 Typescript 中访问具有动态键名的状态 [重复]
Posted
技术标签:
【中文标题】在 Typescript 中访问具有动态键名的状态 [重复]【英文标题】:Accessing a state with dynamic key name in Typescript [duplicate] 【发布时间】:2021-02-03 09:07:00 【问题描述】:我在 React 中有一个类似这样的状态:
type MyState =
xCount: number;
yCount: number;
;
我想在编写程序时在不知道其名称的情况下访问一个状态。
export class BodyWidget extends React.Component<BodyWidgetProps>
state: MyState =
xCount: 1,
yCount: 1
;
returnState = (name:any)
return this.state[name]
...
当我尝试这个时,我得到了这个错误:
元素隐式具有“any”类型,因为“any”类型的表达式不能用于索引“MyState”类型。
【问题讨论】:
【参考方案1】:试试
returnState = (name: keyof MyState)
return this.state[name]
【讨论】:
【参考方案2】:错误提示“名称”应该是 MyState 属性之一(xCount 或 yCount),如下所示:
returnState = (name: keyof MyState) =>
return this.state[name];
【讨论】:
以上是关于在 Typescript 中访问具有动态键名的状态 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 TSQL OPENJSON 如何从具有动态键名的 JSON 数组中提取值