Reactjs 反应:导出const+;导出默认值与导出默认值

Reactjs 反应:导出const+;导出默认值与导出默认值,reactjs,webpack,ecmascript-6,Reactjs,Webpack,Ecmascript 6,我遇到过当前的组件创建与“双重”导出。你能解释一下它是否有真正的用途,还是只是作者的偏好 import React from 'react' import DuckImage from '../assets/Duck.jpg' import './HomeView.scss' export const HomeView = () => ( <div> <h4>Welcome!</h4> <img alt='This

我遇到过当前的组件创建与“双重”导出。你能解释一下它是否有真正的用途,还是只是作者的偏好

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
从“React”导入React
从“../assets/Duck.jpg”导入DuckImage
导入“./HomeView.scss”
导出常量HomeView=()=>(
欢迎
)
导出默认HomeView

注意:当前代码稍后由webpack2绑定。

在这种情况下,两个导出导出的是相同的内容。 两者

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

不过我看到你在用Redux。如果你在做这样的事情

export const HomeView ...

export default connect(mapStateToProps)(HomeView);

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

它们将其导出为常规常量和默认常量,因此您可以使用
import HomeView from“file”
import{HomeView}from“file”
导入它。导出默认值允许
import React from“React”
之类的内容。无默认值的导出需要
{}
例如
从“React”导入{React}
。每个文件只能有一个默认值,最后一位是好的。不仅仅是Redux,如果您还想向函数添加React的
PropTypes
import { Homeview } 
export const HomeView ...

export default connect(mapStateToProps)(HomeView);