В настоящее время у меня есть это для отображения некоторых 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}/>);
}