【发布时间】:2020-09-06 09:45:21
【问题描述】:
如果我将“组件”的类型定义为任何类型,则可以:
import React from 'react';
import { Redirect, Route } from 'react-router-dom';
import { WEB_APP_TOKEN_KEY } from './auth.api';
export interface IAuthRouteProps {
component: any // React.Component
path: string
}
const AuthRoute: React.FC<IAuthRouteProps> = (props) => {
if (!localStorage.getItem(WEB_APP_TOKEN_KEY)) {
return <Redirect to="/login" />;
}
return <Route component={props.component} path={props.path} />;
};
export default AuthRoute;
这就是它的使用方式
<Switch>
<Route exact path="/" component={MainPage}/>
<AuthRoute path="/cars" component={CarPage}/>
</Switch>
在界面中,我想输入项目“componenten”而不是“any”,而是作为 React 组件。这可能吗?
【问题讨论】:
-
React.ComponentType? -
哇完美。我的请求仍然很热情并且已经解决。非常感谢。
标签: reactjs typescript interface