[解決済み] JSXで "export default "は何をするのですか?
質問
最後の文(export default HelloWorld;)の意味と動作を聞きたいのですが、それに関するチュートリアルが見当たりません。
// hello-world.jsx
import React from 'react';
class HelloWorld extends React.Component {
render() {
return <p>Hello, world!</p>;
}
}
export default HelloWorld;
解決方法は?
輸出
のように
export default HelloWorld;
と
インポート
というように
import React from 'react'
の一部です。
ES6モジュールシステム
.
モジュールは自己完結した単位であり、他のモジュールにアセットを公開するためには
export
また、他のモジュールからアセットを取得するには
import
.
あなたのコードで
import React from 'react'; // get the React object from the react module
class HelloWorld extends React.Component {
render() {
return <p>Hello, world!</p>;
}
}
export default HelloWorld; // expose the HelloWorld component to other modules
ES6では、2種類のエクスポートがあります。
名前付きエクスポート
- 例えば
export function func() {}
は名前付きエクスポートで、名前は
func
. 名前付きモジュールは
import { exportName } from 'module';.
この場合、インポートの名前はエクスポートの名前と同じにする必要があります。例のfuncをインポートするには
import { func } from 'module';
. 1つのモジュールに複数の名前付きエクスポートが存在することができます。
デフォルトの輸出
- はモジュールからインポートされる値で、単純なインポート文を使用した場合は
import X from 'module'
. Xは、その値を格納するために割り当てられた変数にローカルで付けられる名前で、オリジンエクスポートのような名前である必要はありません。デフォルトのエクスポートは1つだけです。
モジュールは、名前付きエクスポートとデフォルトエクスポートの両方を含むことができ、それらを一緒にインポートするには
import defaultExport, { namedExport1, namedExport3, etc... } from 'module';
.
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] React JSX内のループ
-
[解決済み] javascript:void(0)」とは何ですか?
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
-
[解決済み] Typescriptエクスポートとデフォルトエクスポートの比較
-
[解決済み】JavaScript版sleep()とは?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングした
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み】Kendo Observable Bindingと併用する場合、Kendo Switch Labelsを変更することは可能ですか?[Kendo-UI]です。
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー
-
[解決済み] JavaScriptの "export default "とは何ですか?