Je développe une fonctionnalité de carte à l'aide de ReactJS
. Mon fichier app.js
est:
import React, { Component } from 'react';
import './Map';
class App extends Component {
render() {
return (
<div className="App">
<Map/>
</div>
);
}
}
export default App;
L'erreur est:
./src/App.js
Line 8: 'Map' is not defined react/jsx-no-undef
Search for the keywords to learn more about each error.
Comment puis-je résoudre ce problème?
import Map from './Map'
React vous dit simplement qu'il ne sait pas où se trouve la variable que vous importez.
Essayez d'utiliser
import Map from './Map';
Lorsque vous utilisez import 'module'
, le module sera exécuté en tant que script. Ceci est utile lorsque vous essayez d'introduire des effets secondaires dans un espace de noms global, par exemple. g. Polyfill fonctionnalités plus récentes pour les navigateurs plus anciens/non pris en charge.
Les modules ES6 sont autorisés à définir des exportations par défaut et des exportations régulières. Lorsque vous utilisez la syntaxe import defaultExport from 'module'
, il importe l'exportation par défaut de ce module avec l'alias defaultExport.
Pour en savoir plus sur l'importation ES6 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
Vous devez lui indiquer le composant que vous souhaitez importer en donnant explicitement le nom de la classe .. dans votre cas, il s'agit de Carte
import Map from './Map';
class App extends Component{
/*your code here...*/
}
Curieusement, la raison de mon échec était liée à la CamelCase que j'appliquais au nom du composant. MyComponent
me donnait cette erreur mais ensuite je l'ai renommée Mycomponent
et le tour est joué, ça a fonctionné !!!
devrait écrire comme ça ->
importer une carte de './map';
dans le fichier map.jsx
ou map.js
, si vous exportez par défaut comme:
export default MapComponent;
alors vous pouvez l'importer comme
import MapComponent from './map'
mais si vous ne l'exportez pas par défaut, comme celui-ci
export const MapComponent = () => { ...whatever }
vous devez importer à l'intérieur des accolades comme
import { MapComponent } from './map'
parfois, dans notre projet (la plupart du temps, je travaille avec Rea), nous devons importer nos styles dans des fichiers JavaScript pour pouvoir les utiliser. dans de tels cas, nous pouvons utiliser cette syntaxe, car dans de tels cas, nous avons une gaffe telle que Webpack qui s'en occupe, puis plus tard, lorsque nous voulons regrouper notre application, Webpack va extraire nos fichiers CSS et les mettre dans un fichier app.css séparé (par exemple). Dans ce cas, nous pouvons utiliser cette syntaxe pour importer nos fichiers CSS dans nos modules javascript.
comme ci-dessous:
import './css/app.css'
si vous utilisez sass, il vous suffit d'utiliser sass loader avec webpack!