importar from es6 ecs6 clases archivos javascript reactjs webpack ecmascript-6

from - importar archivos javascript



¿Cuándo debo usar paréntesis con las importaciones? (2)

Tengo dos archivos, el primero es todoHelper.js

tiene export const addTodo = (list, item) => [...list, item]

más adelante quiero usar addTodo en otro archivo, simplemente import {addTodo} from ''./todoHelpers''

Pero también veo personas que realizan exportaciones por defecto en lugar de solo exportar. Cuales son las diferencias


El uso de la palabra clave predeterminada con la exportación nos da la libertad de importar con un nombre de alias

export default k // in file my.js

se puede importar con el nombre de alias ''b''

import b from ''my.js''


Solo puede tener un valor predeterminado de exportación por archivo y, por lo tanto, cuando exporta valores predeterminados como

export default AddTodo = (list, item) => [...list, item]

Puedes importarlo como

import MyAddTodo from ''./todoHelpers''

Como Babel sabe que está intentando acceder al componente predeterminado, puede acceder a él en su archivo con cualquier nombre.

Ahora supongamos que lo haces

export const AddTodo = (list, item) => [...list, item]

Puede tener múltiples exportaciones de este tipo en su archivo como

export const AddTodo = (list, item) => [... list, item] export const DeleteTodo = (list, item) => [... list, item]

y cuando importes tendrás que desestructurarlos como

import {AddTodo, DeleteTodo}from ''./todoHelpers''

Ahora, dado que tiene múltiples exportaciones de este tipo, Babel no sabrá a qué componente está intentando acceder si accede con un nombre diferente como

import {MyAddTodo, MyDeleteTodo}from ''./todoHelpers''

Si desea hacer esto, tendrá que importarlos tal como están y cambiar su nombre como

import {AddTodo as MyAddTodo, DeleteTodo as MyDeleteTodo}from ''./todoHelpers''

Entonces, como práctica general, default export el componente principal y el resto puede tenerlo como exportación normalmente o cuando solo tiene un componente que necesita exportar desde un archivo, entonces puede elegir lo que quiera, pero una buena manera será export Por defecto.