2017-02-20 8 views
6

私は "ダブル"輸出で現在のコンポーネントを作成してきました。それを本当に使用しているのか、それとも著者の好みなのかを説明してください。React:輸出const +輸出デフォルトと輸出デフォルト

import React from 'react' 
import DuckImage from '../assets/Duck.jpg' 
import './HomeView.scss' 

export const HomeView =() => (
    <div> 
    <h4>Welcome!</h4> 
    <img 
     alt='This is a duck, because Redux!' 
     className='duck' 
     src={DuckImage} /> 
    </div> 
) 

export default HomeView 

P.S:現行コードは、後でwebpack2によってバンドルされます。

+0

彼らは普通のconstとデフォルトのconstとしてそれをエクスポートします。そのため、あなたは 'import HomeView from file"または 'import {HomeView} from" file "でインポートできます。 – Li357

+1

デフォルトをエクスポートすると 'import React 'から' react'のようなものが許可されます。デフォルトなしのエクスポートは '{}'を必要とします。 'import {React} 'から' react''を呼び出します。ファイルごとに1つしかデフォルトを持つことはできません –

答えて

11

この場合、2つのエクスポートは同じものをエクスポートしています。 どちら

import Homeview 

そして

import { Homeview } 

はあなたに同じモジュール(HomeViewコンポーネント)を得ます。

あなたはReduxを使用しています。 あなたは時々非Reduxの接続コンポーネントを使用する場合があります、またはあなたは、テストのためにそれを必要とするかもしれないという点で有用である可能性

export const HomeView ... 

export default connect(mapStateToProps)(HomeView); 

ようなことをやっていた場合。

+0

最後のビットは良い点です。 Reduxだけでなく、Reactの 'PropTypes'も関数に追加したい場合に使用します。 – CodingIntrigue