我有一个名为Parent的对象,它有另一个名为Child的对象的数组,当在组件类的状态下调用时,我不知道如何给出其初始值。
我尝试使用as Child[]
进行投射,但仍然无法正常工作
父母:
export interface Parent {
id: string,
child : Child[]
}
组件中的状态
interface State {
parent: Parent
}
如何初始化值
constructor(props: Props) {
super(props);
this.state = {
parent: {
id: "",
child: [] as Child[]
}
}
}
谢谢。
答案 0 :(得分:1)
您可以在类定义中定义状态的类型:
View in the TypeScript Playground
export interface Parent {
id: string,
child : Child[]
}
interface State {
parent: Parent
}
interface Props {
}
class MyComponent extends React.Component<Props, State> {
constructor(props: Props) {
super(props);
this.state = {
parent: {
id: "",
child: [] // you don't have to define type
// typescript infers State interface in this.state
}
}
}
render() {
return (<div>...</div>)
}
}
在TypeScript中,React.Component是通用类型(又名 React.Component),因此您想为其提供 (可选)prop和state类型参数:
在typescript-cheatsheet中阅读更多内容