Tengo el siguiente HOC:
export default (keys: Array<string>) => (WrappedComponent: React.Component<*, *, *>) => (props: Object): React.Element<*> => { if (hasNotYetLoadedProps(keys, props)) { return ( <div style={{ textAlign: 'center', display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100%', }} > <div>Loading</div> </div> ) } return <WrappedComponent {... props} /> }que representan el componente original o un indicador de carga. Con la declaración de tipo de flujo real, aparece este error:
React element `WrappedComponent`. Expected React component instead of React$Componenten la última línea. ¿Cuál sería el tipo correcto del componente entrante?
El tipo necesita ReactClass<any>
export default (keys: Array<string>) => (WrappedComponent: ReactClass<any>) => (props: Object): React.Element<*> => { if (hasNotYetLoadedProps(keys, props)) { return ( <div style={{ textAlign: 'center', display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100%', }} > <div>Loading</div> </div> ) } return <WrappedComponent {... props} /> }