[解決済み】es6のreactコンポーネントがexport defaultでしか動作しないのはなぜ?
2022-04-04 23:21:37
質問
このコンポーネントは動作します。
export class Template extends React.Component {
render() {
return (
<div> component </div>
);
}
};
export default Template;
最後の行を削除すると、うまくいきません。
Uncaught TypeError: Cannot read property 'toUpperCase' of undefined
es6の構文でわからないことがあるようです。default"という記号を付けずにエクスポートする必要はないのでしょうか?
どのように解決するのですか?
を使わずにエクスポートする
default
は、"名前付きエクスポート"であることを意味します。1つのファイルに複数の名前付きエクスポートを持つことができます。ですから、このようにすると
class Template {}
class AnotherTemplate {}
export { Template, AnotherTemplate }
の場合、これらのエクスポートを正確な名前を使ってインポートする必要があります。ですから、これらのコンポーネントを別のファイルで使用するには、このようにしなければなりません。
import {Template, AnotherTemplate} from './components/templates'
としてエクスポートすることもできます。
default
はこのようにエクスポートします。
export default class Template {}
次に、別のファイルで、デフォルトのエクスポートを
{}
のような、このような。
import Template from './components/templates'
デフォルトのエクスポートは1ファイルにつき1つだけです。Reactでは、1つのファイルから1つのコンポーネントをエクスポートし、それをデフォルトのエクスポートとしてエクスポートするのが慣例となっています。
デフォルトのエクスポートをインポートする際に、自由に名前を変更することができます。
import TheTemplate from './components/templates'
そして、デフォルトと名前付きエクスポートを同時にインポートすることができます。
import Template,{AnotherTemplate} from './components/templates'
関連
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み] JavaScriptの "export default "とは何ですか?
-
[解決済み] Reactでes6クラスを使うときの「super()」と「super(props)」の違いとは?
-
[解決済み] Export Default Const」が無効なのはなぜですか?
-
[解決済み] Node.jsとES6におけるmodule.exportsとexport defaultの比較
-
[解決済み] Typescriptエクスポートとデフォルトエクスポートの比較
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
-
[解決済み】ES6での`export const`と`export default`の比較
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Facebook Graph API のクエリで with=location を使用すると "Uncaught (in promise) undefined" というエラーが発生する。
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】「Uncaught TypeError: Chromeで "Illegal invocation "が発生する。
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】Uncaught SyntaxError: JSON の位置 0 に予期しないトークン u があります。
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み】TypeError: res.status は関数ではありません。
-
[解決済み】'useState' が定義されていない no-undef React