Recibo el siguiente error cuando envuelvo MuiThemeProvider en App.js. La página no se cargará en absoluto. Lo he usado de manera similar en otros proyectos, así que no estoy seguro de por qué sucede esto.
react.development.js:1476 Error no detectado: Llamada de gancho no válida. Los ganchos solo se pueden llamar dentro del cuerpo de un componente de función. Esto podría suceder por una de las siguientes razones:
- Es posible que tenga versiones que no coincidan de React y el renderizador (como React DOM)
- Podrías estar rompiendo las Reglas de los Hooks
- Es posible que tenga más de una copia de React en la misma aplicación
Aplicación.js
import React from 'react' import { BrowserRouter as Router, Routes, Route } from 'react-router-dom' import Home from './views/Home' import ProjectDetailsForm from './components/ProjectDetailsForm/ProjectDetailsForm' import { MuiThemeProvider } from '@material-ui/core/styles' import theme from './styles/theme' function App() { return ( <MuiThemeProvider theme={theme}> <Router> <div className="app"> <Routes> <Route path="/" element={[ <Home key="1"></Home>, <ProjectDetailsForm key="2"></ProjectDetailsForm> ]}></Route> </Routes> </div> </Router> </MuiThemeProvider> ) } export default Apptema.js
// import { common } from '@material-ui/core/colors' import { createTheme } from '@material-ui/core/styles' // import { black } from '@mui/material/colors' const theme = createTheme({ components: { MuiFormLabel: { styleOverrides: { root: { color: '#000' } } }, MuiInputLabel: { styleOverrides: { root: { color: '#000' } } } } }) export default themeEste problema puede ocurrir cuando React intenta cargar dos veces. Por ejemplo, si creo mi propia biblioteca que usa React y luego la importo localmente a un proyecto que también usa React. ¿Qué hay en este archivo ./components/ProjectDetailsForm/ProjectDetailsForm' ?
Resuelto:
Me di cuenta de que aún no había instalado @material-ui/core . Una vez que lo intenté, recibí "no se pudieron resolver los errores de dependencia". Tuvo que usar dependencias MUI heredadas debido a conflictos con React 18.