Daa*_*vvy 8 typescript reactjs material-ui
我想给我的React组件props一个泛型类型,但是当我将它包装到一个更高阶的组件(material-ui)中时,这种类型就丢失了。我该如何传递所需的信息?
type Props<T> = {
data: Array<T>;
}
class MyComponent<T> extends React.Component<Props<T>> {
const StyledComponent = withStyles(styles)(MyComponent)
Run Code Online (Sandbox Code Playgroud)
使用<StyledComponent<myType会产生错误,因为它不了解泛型。
我的赌注是这样注释你的新组件:
const StyledComponent: <T>(props: OuterProps<T>) => JSX.Element = withStyles(styles)(MyComponent) ;
Run Code Online (Sandbox Code Playgroud)
请注意,您可能需要区分OuterProps和InnerProps,请参阅下面我制作的示例以供参考:
https://stackblitz.com/edit/hoc-generics
希望有帮助!
| 归档时间: |
|
| 查看次数: |
266 次 |
| 最近记录: |