2016-12-09 6 views
1

私はES6モジュールシステムを初めて使いました。 NativeBaseを使用していますReact Native Starter AppReactネイティブアプリでのモジュールのインポート

、誰もがそれはnative-starter-kit/js/themes/base-theme.js、からインポートされたファイルは、変数myThemeexport default任意のコードを持っていなかったときnative-starter-kit/js/components/home/index.js

import myTheme from '../../themes/base-theme`; 

を行うことができますどのように説明できますか?

答えて

4

参照している2番目のファイルは、エクスポートのデフォルト全体です。 5行目で :彼らはimport myTheme from '../../themes/base-theme;myThemeを行う際

export default { 

// Badge 
badgeBg: '#ED1727', 
badgeColor: '#fff', 

... 

} 

そこで彼らがインポートされたモジュールのために選択した変数名です。この場合、transpilerはdefaultエクスポートを検索します。

import { myTheme } from '../../themes/base-theme;を実行した場合、エクスポートで明示的に名前が付けられていないため、問題が発生していました。これを行うとdefault輸出への参照のうえではなく、明示的にmyTheme

と呼ばれる1は私が意味を成していたことを確認していない、あなたはhttps://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Instructions/importに読み取りを与えたいと思うかもしれデフォルトせずにエクスポート

2

はそれが名前のだ意味していませんをエクスポートします。

複数の名前付きエクスポートを1つのファイルに含めることができます。

例1: ここ export class Theme {}

あなたはその正確な名前を使用して、このエクスポートをインポートする必要があります。

、あなたがこれを行う必要があり、他のファイルに import { Theme } from '../../themes/base-theme'

例2このコンポーネントを使用するには:あなたは別のファイルに続いて export default class Theme {}

、としてデフォルト輸出としてエクスポートする場合

を{}を使用せずにデフォルトのエクスポートをインポートします( ) import Theme from '../../themes/base-theme'

ファイルごとに1つのデフォルトエクスポートしか存在できません。

ファイルから1つのコンポーネントをエクスポートし、それをエクスポートするというReactの規則は、デフォルトのエクスポートと同じですが。

デフォルトの書き出しをインポートするときに名前を変更することは自由です。 import myTheme from '../../themes/base-theme'

関連する問題