【发布时间】:2016-02-06 11:11:21
【问题描述】:
我正在寻找一种通过类型检查获取对象属性名称的方法,该方法允许在重构后捕获可能的回归。
这是一个示例:我必须将属性名称作为字符串传递的组件,如果我尝试更改模型中的属性名称,它将被破坏。
interface User {
name: string;
email: string;
}
class View extends React.Component<any, User> {
constructor() {
super();
this.state = { name: "name", email: "email" };
}
private onChange = (e: React.FormEvent) => {
let target = e.target as HTMLInputElement;
this.state[target.id] = target.value;
this.setState(this.state);
}
public render() {
return (
<form>
<input
id={"name"}
value={this.state.name}
onChange={this.onChange}/>
<input
id={"email"}
value={this.state.email}
onChange={this.onChange}/>
<input type="submit" value="Send" />
</form>
);
}
}
如果有任何好的解决方案可以解决这个问题,我将不胜感激。
【问题讨论】:
-
@DavidSherret 您的
this解决方案也是我能想到的唯一答案。请张贴作为答案????
标签: typescript reflection metaprogramming