Javascript 在Typescript中使用动态键名访问状态
我有一种类似这样的反应状态:Javascript 在Typescript中使用动态键名访问状态,javascript,reactjs,typescript,typescript2.0,react-state,Javascript,Reactjs,Typescript,Typescript2.0,React State,我有一种类似这样的反应状态: type MyState = { xCount: number; yCount: number; }; returnState = (name: keyof MyState) => { return this.state[name]; } 我想在编写程序时访问一个状态而不知道它的名称 export class BodyWidget extends React.Component<BodyWidgetProps> { stat
type MyState = {
xCount: number;
yCount: number;
};
returnState = (name: keyof MyState) => {
return this.state[name];
}
我想在编写程序时访问一个状态而不知道它的名称
export class BodyWidget extends React.Component<BodyWidgetProps> {
state: MyState = {
xCount: 1,
yCount: 1
};
returnState = (name:any) {
return this.state[name]
}
...
}
导出类BodyWidget扩展React.Component{
状态:MyState={
数量:1,
Y计数:1
};
returnState=(名称:any){
返回此。状态[名称]
}
...
}
当我尝试此操作时,会出现以下错误:
元素隐式具有“any”类型,因为“any”类型的表达式不能用于索引类型“MyState”
试一试
错误表示“name”应该是MyState属性之一(xCount或yCount),如下所示:
type MyState = {
xCount: number;
yCount: number;
};
returnState = (name: keyof MyState) => {
return this.state[name];
}