ReactJS
を使用してマップ機能を開発しています。私のapp.js
ファイルは次のとおりです。
import React, { Component } from 'react';
import './Map';
class App extends Component {
render() {
return (
<div className="App">
<Map/>
</div>
);
}
}
export default App;
エラーは次のとおりです。
./src/App.js
Line 8: 'Map' is not defined react/jsx-no-undef
Search for the keywords to learn more about each error.
この問題を解決するにはどうすればよいですか?
使用してみてください
import Map from './Map';
import 'module'
を使用すると、モジュールがスクリプトとして実行されます。これは、グローバル名前空間に副作用を導入しようとしているときに役立ちます。 g。古い/サポートされていないブラウザの新しい機能をポリフィルします。
ES6モジュールでは、デフォルトのエクスポートと通常のエクスポートを定義できます。構文import defaultExport from 'module'
を使用すると、エイリアスdefaultExportでそのモジュールのデフォルトエクスポートがインポートされます。
ES6インポートの詳細については、- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
import Map from './Map'
Reactを実行する必要があります。これは、インポートする変数の場所がわからないことを伝えているだけです。
クラス名を明示的に指定して、インポートするコンポーネントを指定する必要があります。
import Map from './Map';
class App extends Component{
/*your code here...*/
}
奇妙なことに、私の失敗の理由は、コンポーネント名に適用したキャメルケースに関するものでした。 MyComponent
からこのエラーが発生していましたが、名前をMycomponent
に変更しました。
このように書く必要があります->
'./map'からマップをインポートします。
map.jsx
またはmap.js
ファイルで、デフォルトとしてエクスポートする場合:
export default MapComponent;
その後、次のようにインポートできます
import MapComponent from './map'
ただし、このようにデフォルトとしてエクスポートしない場合
export const MapComponent = () => { ...whatever }
次の中括弧の中にインポートする必要があります
import { MapComponent } from './map'
時々私たちのプロジェクトでは(ほとんどの場合、私は反応して作業しています)、スタイルをJavaScriptファイルにインポートして使用する必要があります。そのような場合、その構文を使用できます。そのような場合、それを処理するwebpackのような失策があり、その後、アプリをバンドルするときにwebpackがcssファイルを抽出して配置するためです別の(たとえば)app.cssファイル内。そのような状況では、このような構文を使用してcssファイルをjavascriptモジュールにインポートできます。
以下のように:
import './css/app.css'
sassを使用している場合、webpackでsassローダーを使用するだけです!