我想给我的React组件props一个泛型类型,但是当我将它包装在一个更高阶的组件(material-ui)中时,这种类型会丢失,我该如何传递所需的信息?
type Props<T> = {
data: Array<T>;
}
class MyComponent<T> extends React.Component<Props<T>> {
const StyledComponent = withStyles(styles)(MyComponent)
使用
<StyledComponent<myType
会产生错误,因为它不了解泛型。 最佳答案
我的赌注是这样注释您的新组件:
const StyledComponent: <T>(props: OuterProps<T>) => JSX.Element = withStyles(styles)(MyComponent) ;
请注意,您可能需要区分
OuterProps
和InnerProps
,请参阅以下我供引用的示例:https://stackblitz.com/edit/hoc-generics
希望对您有所帮助!