'Typescript React - How does a parent component constrain the props types of child components
This is parent component
class Form<T extends Record<string, any>> extends React.Component<{
data: T;
children: React.ReactElement<FormItem<{ keys: keyof T }>>;
}> {
render() {
return <div>{this.props.children}</div>;
}
}
This is child component
class FormItem<T extends any> extends React.Component<T> {
render() {
return <div>{this.props.children}</div>;
}
}
In use
class Demo extends React.Component {
render() {
return (
<Form data={{ name: 'Jo', age: 24 }}>
<FormItem keys="b"></FormItem> // keys should be 'name' or 'age'
</Form>
);
}
}
Or, How do you design components to meet this requirement?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
