2017-02-20 117 views
6

我遇到了使用「雙」導出的當前組件創建。你能解釋一下它是否真的有用嗎?或者它只是作者的偏好?反應:導出const +導出默認vs導出默認

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

它們將它作爲常規常量和默認常量導出,因此您可以使用從「file」導入HomeView或從「file」導入{HomeView}。 – Li357

+1

export default允許像'進口反應'這樣的東西。無默認導出需要'{}'例如從'react''導入{React}。每個文件只能有1個默認值 –

回答

11

在這種情況下,兩個導出導出相同的東西。 兩個

import Homeview 

而且

import { Homeview } 

會給你同一個模塊(在HomeView組件)。

雖然我看到你在使用Redux。 如果你喜歡

export const HomeView ... 

export default connect(mapStateToProps)(HomeView); 

做的事情可能是有用你可能想有時使用非Redux的連接部件,或者您可能需要進行測試。

+0

最後一點是一個很好的觀點。不僅僅是Redux,但是如果你想將React的PropTypes加入到函數中。 – CodingIntrigue