Sar*_*rni 27 javascript reactjs
我正在开发一个地图功能ReactJS,我的app.js文件是:
import React, { Component } from 'react';
import './Map';
class App extends Component {
render() {
return (
<div className="App">
<Map/>
</div>
);
}
}
export default App;
Run Code Online (Sandbox Code Playgroud)
错误是:
./src/App.js
Line 8: 'Map' is not defined react/jsx-no-undef
Search for the keywords to learn more about each error.
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
sha*_*191 19
尝试使用
import Map from './Map';
Run Code Online (Sandbox Code Playgroud)
当您使用import 'module'它时,只需将模块作为脚本运行.当您尝试将副作用引入全局命名空间时,这非常有用,例如,旧版/不支持的浏览器的polyfill更新功能.
允许ES6模块定义默认导出和常规导出.使用语法时import defaultExport from 'module',它将使用别名defaultExport导入该模块的默认导出.
有关ES6导入的进一步阅读 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
您必须通过明确给出类名来告诉它要导入哪个组件.在您的情况下,它是Map
import Map from './Map';
class App extends Component{
/*your code here...*/
}
Run Code Online (Sandbox Code Playgroud)
在map.jsx或map.js文件中,如果您默认导出为:
export default MapComponent;
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样导入它
import MapComponent from './map'
Run Code Online (Sandbox Code Playgroud)
但如果你不将其导出为默认值,就像这里的这个一样
export const MapComponent = () => { ...whatever }
Run Code Online (Sandbox Code Playgroud)
您需要在花括号内导入,例如
import { MapComponent } from './map'
Run Code Online (Sandbox Code Playgroud)
像下面这样:
import './css/app.css'
Run Code Online (Sandbox Code Playgroud)
如果您使用 sass,您所需要做的就是将 sass 加载器与 webpack 一起使用!
小智 5
导入任何模块的语法是
import { } from "module";
Run Code Online (Sandbox Code Playgroud)
或者
import module-name from "module";
Run Code Online (Sandbox Code Playgroud)
出错前(带小“c”的cakeContainer)
修复后