目前,我可以根据枚举类型来渲染一些JSX:
enum NavigationScreenType {
SplashScreen,
LoginSelectionScreen,
LoginScreen,
}
private getJSXFromScreenType(type: NavigationScreenType, props?: object): JSX.Element {
switch (type) {
case NavigationScreenType.LoginSelectionScreen:
return (<LoginSelectionScreen {...props} />);
case NavigationScreenType.LoginScreen:
return (<LoginScreen {...props} />);
default:
return (<SplashScreen {...props}/>);
}
}
有没有一种方法可以使用泛型来实现?我打算修改该函数以接受类型,并在一行中返回一行内容:
private getJSXFromScreenType<T extends BaseNavigationScreen>(type: T, props?: object): JSX.Element {
return (<type {...props}/>);
}