Je construis une application en utilisant Material-UI , jusqu'ici tout va bien. J'essaie de créer un composant à l'aide d'un composant Accordion , mais j'obtiens une erreur en essayant de l'importer:
import React from 'react';
// import {
// Accordion,
// AccordionSummary,
// AccordionDetails
// } from '@material-ui/core';
import Accordion from '@material-ui/core/Accordion';
import AccordionSummary from '@material-ui/core/AccordionSummary';
import AccordionDetails from '@material-ui/core/AccordionDetails';
import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
const JobCard = () => {
return(
<Accordion expanded={true}>
<AccordionSummary
expandIcon={<ExpandMoreIcon />}
>
test
</AccordionSummary>
<AccordionDetails>
test
</AccordionDetails>
</Accordion>
);
}
export default JobCard;
J'ai essayé de l'importer à la fois via une importation par défaut et nommée, mais le résultat est le même.
le composant:
Module not found: Can't resolve '@material-ui/core/Accordion' in [path]
Tous mes autres composants fonctionnent correctement avec les composants Material-UI importés.
Suis-je en train de manquer quelque chose que je fais mal? Quelqu'un a-t-il rencontré un tel problème?
5 Réponses :
ExpansionPanel a été renommé Accordion . Avec votre erreur, il semble que vous utilisiez la version 4.10.2 (ou inférieure) de material-ui-core.
Utilisez la version 4.11.0 ou supérieure de material-ui-core .
Installer Material UI Core
npm i @material-ui/core
Donc, ce sera @material-ui/core@4.11.0
Ensuite, son fonctionnement. S'amuser!!
Ou npm install @material-ui/core@latest
Le composant Material-UI Accordion (anciennement ExpansionTable) ne sera pas importé car il a été renommé, donc son problème de mise à jour, donc pour mettre à jour Material Ui et d'autres packages dans votre dossier, exécutez la commande
npm install
Les dépendances obsolètes seront répertoriées
mise à jour npm
ou
npm install react@latest react-dom@latest
pour mettre à jour un package spécifique, puis exécutez cette commande pour installer un package spécifique
npm update "react" "react-dom"
ou
npm outdated
pour installer tous les packages
J'ai eu essentiellement le même problème. L'erreur était:
"Impossible de résoudre '@ material-ui / icons / ExpandMore'"
Après avoir installé les éléments suivants:
"@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", "avatar": "^0.1.0", "clsx": "^1.1.1", "jquery": "^3.5.1", "material-ui": "^0.20.2", "react": "^16.14.0", "react-dom": "^16.14.0", "react-ga": "^2.7.0", "react-scripts": "1.0.17"
J'ai exécuté la npm update et TOUT ÉTAIT BIEN :)
Gardez à l'esprit que bon nombre de ces composants étaient déjà installés. Les nouveaux que j'ai installés en fonction de l'erreur sont: les 3 se matérialisent, avatar et clsx. Ensuite, la mise à jour npm a apporté ces deux composants de réaction
Le nom d' Accordion a été changé en ExpansionPanel récemment, alors importez comme ceci:
import Accordion from '@material-ui/core/ExpansionPanel'; import AccordionSummary from '@material-ui/core/ExpansionPanelSummary'; import AccordionDetails from '@material-ui/core/ExpansionPanelDetails'; import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
Avez-vous essayé de réinstaller
@material-ui/coreou de redémarrer le serveur Web? :RÉ