J'obtiens l'erreur ci-dessous chaque fois que j'essaye d'utiliser makeStyles()
avec un composant avec des méthodes de cycle de vie:
Appel de hook non valide. Les hooks ne peuvent être appelés qu'à l'intérieur du corps d'un composant de fonction. Cela peut se produire pour l'une des raisons suivantes:
- Vous pouvez avoir des versions incompatibles de React et du moteur de rendu (comme React DOM)
- Vous enfreignez peut-être les règles des Hooks
- Vous pouvez avoir plus d'une copie de React dans la même application
Voici un petit exemple de code qui produit cette erreur. D'autres exemples affectent également des classes aux éléments enfants. Je ne trouve rien dans la documentation de MUI qui montre d'autres façons d'utiliser makeStyles
et j'ai la possibilité d'utiliser des méthodes de cycle de vie.
import React, { Component } from 'react';
import { Redirect } from 'react-router-dom';
import { Container, makeStyles } from '@material-ui/core';
import LogoButtonCard from '../molecules/Cards/LogoButtonCard';
const useStyles = makeStyles(theme => ({
root: {
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
},
}));
const classes = useStyles();
class Welcome extends Component {
render() {
if (this.props.auth.isAuthenticated()) {
return <Redirect to="/" />;
}
return (
<Container maxWidth={false} className={classes.root}>
<LogoButtonCard
buttonText="Enter"
headerText="Welcome to PlatformX"
buttonAction={this.props.auth.login}
/>
</Container>
);
}
}
export default Welcome;
invalid hook call
erreur - Merci de m'avoir amené dans la bonne direction !!