2017-08-15 3 views
0

このインポートが反応ルータのドキュメントから来ている:なぜreact-router-domを使用すると、同じパッケージの別々の別名を2つインポートする必要がありますか?

import { BrowserRouter as Router, Route } from 'react-router-dom'

私はここに私は誤解だかどうかわから反応しないんだけど、またはJS import。これは1つのパッケージをインポートし、2つの別々のエイリアスの下で同じパッケージを利用できるように思えますが、<Router><Route>のコンポーネントは完全に異なるものであり、全く同じではありません。何が起きてる? <Router><Route>は同じですか?それとも違いはありますか?

+0

いいえ、それは ' '反応-ルータ-dom''からJUST BrowserRouter(ルータとしてエイリアス)とルートをインポート - 他の輸出がために、リンクのように(インポートされません例) –

答えて

1

同じパッケージから2つの異なるモジュールをインポートしています。 react-router-domLinkRoute、およびBrowserRouterモジュールをエクスポートし、それぞれ異なる機能を提供します。あなたのES6スタイルモジュールのインポートステートメントは、RouteBrowserRouter、別名BrowserRouterRouterとなります。

ここでモジュールの輸入についての簡単なプライマーです:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

+0

さて、わかりました。したがって、実際に2つの異なるエイリアスを持つBrowserRouterをインポートしていた場合、 'react-router-dom'から 'RouteとしてBrowserRouterをRouter、BrowserRouterをルートとして 'インポートします –

関連する問題