React:export const + export default vs export default

vol*_*lna 14 ecmascript-6 reactjs webpack

我通过"双"导出遇到了当前的组件创建.你能解释一下它是否有真正的用途,或者只是作者的偏好?

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
Run Code Online (Sandbox Code Playgroud)

PS:当前代码稍后由webpack2捆绑.

And*_*y_D 19

在这种情况下,两个导出导出相同的东西.都

import Homeview
Run Code Online (Sandbox Code Playgroud)

import { Homeview } 
Run Code Online (Sandbox Code Playgroud)

将为您提供相同的模块(HomeView组件).

不过,我看到你正在使用Redux.如果你正在做类似的事情

export const HomeView ...

export default connect(mapStateToProps)(HomeView);
Run Code Online (Sandbox Code Playgroud)

这可能很有用,因为您可能希望有时使用非Redux连接的组件,或者您可能需要它来进行测试.