我在react中做了一个小的todo应用程序来体验一下typescript。我的Todo类将用于数据实体,它由Todo标签,完成状态和键组成;
interface TodoProps {
complete: string;
label: string;
key: string;
}
class Todo extends Component<TodoProps, any> {
constructor(label) {
this.label = label;
this.complete = false;
this.key = Date.now();
}
}
我的代码编辑器一直抱怨这个。标签,这个。complete,还有这个。key不存在于"Todo">有什么想法吗?由于
所以为了访问组件上的道具,你需要使用props
getter:
constructor(props: TodoProps) {
super(props);
this.props.label = props.label;
this.props.complete = false;
this.label.key = Date.now();
}
我想知道的是,如果你打算硬编码complete
和key
,那么为什么它们是道具的一部分?
为什么允许某人通过<Todo complete={true} />
,如果complete在构建时立即被设置为false ?
而且,我已经有一段时间没有使用类组件了,但这并不是这一行的全部意义:
super(props)
设置你的道具对象等于this.props
??