Я ищу способ получить имя свойства объекта с помощью typechecking, что позволяет ловить возможные регрессии после рефакторинга.
Вот пример: компонент, где мне нужно передать имена свойств в виде строк, и он будет разбит, если я попытаюсь изменить имена свойств в модели.
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>
);
}
}
Я был бы признателен за хорошее решение этой проблемы.