Ottengo l'errore seguente ogni volta che provo a utilizzare makeStyles()
un componente con metodi del ciclo di vita:
Chiamata hook non valida. Gli hook possono essere chiamati solo all'interno del corpo di un componente funzione. Ciò potrebbe accadere per uno dei seguenti motivi:
- Potresti avere versioni non corrispondenti di React e del renderer (come React DOM)
- Potresti infrangere le regole degli Hooks
- Potresti avere più di una copia di React nella stessa app
Di seguito è riportato un piccolo esempio di codice che produce questo errore. Altri esempi assegnano classi anche a elementi figlio. Non riesco a trovare nulla nella documentazione di MUI che mostri altri modi di utilizzare makeStyles
e abbia la possibilità di utilizzare i metodi del ciclo di vita.
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
girato in tondo con questo bug e l' errore - Grazie per avermi portato nella giusta direzione !!