Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何将withRouter()与通用组件一起使用_Reactjs_Typescript_React Router - Fatal编程技术网

Reactjs 如何将withRouter()与通用组件一起使用

Reactjs 如何将withRouter()与通用组件一起使用,reactjs,typescript,react-router,Reactjs,Typescript,React Router,我有这样一个组件: function GenericComponent<T>(props: RouteComponentProps) { ... } export default withRouter(GenericComponent) 函数通用组件(props:RouteComponentProps){ ... } 使用路由器导出默认值(GenericComponent) 当尝试将其与一起使用时,出现以下错误: 应为0个类型参数,但得到1个 如何将T传递给withRo

我有这样一个组件:

function GenericComponent<T>(props: RouteComponentProps) {
    ...
}

export default withRouter(GenericComponent)
函数通用组件(props:RouteComponentProps){
...
}
使用路由器导出默认值(GenericComponent)
当尝试将其与
一起使用时,出现以下错误:

应为0个类型参数,但得到1个


如何将
T
传递给withRouter?

通常情况下,您不能这样做,我认为您可以通过让一个函数像工厂一样使用takes generic
T
然后返回该类型的组件,如下所示:

函数通用组件(props:RouteComponentProps){
// ...
}
导出函数工厂(){
使用路由器返回((props:RouteComponentProps)=>(
));
}
//用法
函数App(){
const FooWithId=factory();
返回(
)
}