Je viens d'essayer d'utiliser un simple HOC avec react. Voici la fonction :
import React from "react"
const withOptions = (WrappedComponent) => {
return class extends React.Component {
render() {
return <WrappedComponent { ...this.props } />
}
}
}
export default withOptions
Le problème semble résider dans la manière dont je l'exporte/importe.
Importé et utilisé de manière simple, il fonctionne :
import withOptions from "./Options"
...
class BilanClimatique extends React.Component{
...
}
const StyledBilanClimatique = withStyles(styles)(BilanClimatique)
export default withOptions(StyledBilanClimatique)
Mais si j'utilise un fichier intermédiaire comme index.js
import withOptions from "./Options"
export {
withOptions
}
Et je l'importe dans mon composant comme suit
import {
withOptions
} from "./index"
Voici ce que j'obtiens
Quelqu'un peut-il m'aider à comprendre ?
EDIT :
J'ai constaté que le composant qui utilise le HOC est importé du même fichier que le HOC :
import withOptions from "./Options"
import BilanClimatique from "./BilanClimatique"
export {
withOptions,
BilanClimatique
}
Et c'est cela qui pose problème, mais je ne comprends pas pourquoi... Voici un bac à sable avec le problème https://codesandbox.io/s/r074735yvo