web-dev-qa-db-fra.com

Réagir: exporter const + exporter par défaut vs exporter par défaut

Je suis tombé sur la création actuelle de composants avec une "double" exportation. Pouvez-vous s'il vous plaît expliquer s'il y a une réelle utilisation de celui-ci, ou s'il s'agit simplement d'une préférence d'auteur?

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: Le code actuel est ensuite fourni par webpack2.

13
volna

Dans ce cas, les deux exportations exportent la même chose. Tous les deux

import Homeview

Et

import { Homeview } 

Vous donnera le même module (le composant HomeView).

Je vois que vous utilisez Redux, cependant. Si vous faisiez quelque chose comme

export const HomeView ...

export default connect(mapStateToProps)(HomeView);

Cela peut être utile dans la mesure où vous souhaiterez parfois utiliser le composant non connecté à Redux, ou vous en aurez peut-être besoin pour les tests.

18
Andy_D