我正在看react-router中的打字稿类型,并看到了:
export class Route<T extends RouteProps = RouteProps> extends React.Component<T, any> { }
定义的RouteProps = RouteProps
部分是什么意思?在文档中哪里可以找到这个?
答案 0 :(得分:1)
您可以在Typescript Generics上找到文档。
此语法表示:
T
必须从RouteProps
扩展并且
您可以使用提供泛型的此类:
示例:
interface IRoute1 extends RouteProps { }
interface IRoute2 extends RouteProps {
prop: string;
}
interface IOther { }
const route = new Route();
const route1 = new Route<IRoute1>();
const route2 = new Route<IRoute2>();
const routeOther = new Route<IOther>(); //this will throw an error as IOther is not extended from RouteProps
如果您不提供通用接口,它将使用RouteProps
。
如果提供,则必须从RouteProps
开始扩展。