React with ES6を使用しています。 ReactとComponentをインポートしますインポートの違いReactとimport {Component}構文
import React from 'react'
import { Component } from 'react'
なぜ構文が異なるのですか?下記のように使用することはできませんか?ここで
import Component from 'react'
React with ES6を使用しています。 ReactとComponentをインポートしますインポートの違いReactとimport {Component}構文
import React from 'react'
import { Component } from 'react'
なぜ構文が異なるのですか?下記のように使用することはできませんか?ここで
import Component from 'react'
import
ためdocsです。
import React from 'react'
上記はデフォルトのインポートです。デフォルトのインポートはexport default ...
でエクスポートされます。単一のデフォルトエクスポートのみが可能です。
これはメンバーのインポート(名前付きインポート)です。メンバーの輸入品はexport ...
で輸出されます。多くのメンバーの輸出が可能です。
あなたはこの構文を使用して、両方をインポートすることができます:デフォルトのJavaScriptで
import React, { Component } from 'react';
をし、名前の輸入が分割されているので、それがデフォルトだったようにあなたが名前のインポートをインポートすることはできません。
import Component from 'react';
「import component from 'react';」では、「react」のデフォルトエクスポートである「Component」を呼び出すだけではありませんか?言い換えると、ComponentはReactオブジェクトであり、デフォルトで 'react'モジュールからエクスポートされ、nullではありません。つまり、デフォルトのエクスポートは名前付きのエクスポートではないので、名前は重要ではありません。 – Josmar
@Josmarはい、どのように私は非常によく表現していないかを参照してください。編集を行った。 :) –
ハッキングバベルプリセットを使用しない限りコードが動作しないように、Reactにデフォルトのエクスポートがないことを忘れてしまった... –
コンポーネントが名前の輸出である例えばので、それは{}で非構造する必要があります。以下、React.Component
と同じであることを行っていない'react'
パッケージ(のデフォルトのエクスポートに名前Component
を設定します。
からリアクトのためのデフォルトのエクスポートで反応させ、「反応」が正しいです。例えば、輸出のデフォルト任意のファイルにあなたは「輸出のデフォルトが反応」のようなステートメントを使用して、デフォルトで何かをエクスポートしている場合、それはすることができ、
明確にするために、インポートを破壊することはありません。構文的には似ていますが、いくつかの興味深い違いがあります。 Kent C Dodds [興味深い記事を書きました](https://medium.com/@kentcdodds/misunderstanding-es6-modules-upgrading-babel-tears-and-aolution-ad2d5ab93ce0) –
に反応輸入された反応のように輸入された。
デフォルト以外のエクスポートについては、 "import {Components}"のようにカッコで囲んで実際にインポートするものを指定する必要があります。
また、[ES6のインポートに中括弧を使用する必要がありますか?](http://stackoverflow.com/q/36795819/218196) –
Reactライブラリからインポートする場合は、Reactをこのようにインポートする必要があります ' import react 'react'from'から Reactはデフォルトのエクスポートであるためです。一方、Componentは中括弧で囲まれています。これはオプションです。 ライブラリからのオプションのインポートは、中括弧で囲まれています –