import * as React from 'react'; type SceneProps = { route: any; jumpTo: (key: string) => void; }; const SceneComponent = React.memo( } & SceneProps>({ component, ...rest }: T) => { return React.createElement(component, rest); } ); SceneComponent.displayName = 'SceneComponent'; export function SceneMap(scenes: { [key: string]: React.ComponentType }) { return ({ route, jumpTo }: SceneProps) => { const component = scenes[route.key]; if (!component) { return null; } return ( ); }; }