Когда я должен использовать скобки с импортом
У меня есть два файла, первый-todoHelper.js
Он имеет export const addTodo = (list, item) => [...list, item]
Позже я хочу использовать addTodo
в другом файле, я просто делаю import {addTodo} from './todoHelpers'
Но я также вижу, что люди делают экспорт по умолчанию, а не просто экспорт. В чем разница?
2 ответа:
Вы можете иметь только один экспорт по умолчанию для каждого файла и, следовательно, когда вы делаете экспорт по умолчанию, как
export default AddTodo = (list, item) => [...list, item]
Вы можете импортировать его как
import MyAddTodo from './todoHelpers'
Поскольку babel знает, что вы пытаетесь получить доступ к компоненту по умолчанию, вы можете получить доступ к нему в вашем файле под любым именем
Теперь предположим, что вы делаете
export const AddTodo = (list, item) => [...list, item]
Вы можете иметь несколько таких экспорта в вашем файле, как
Export const AddTodo = (list, item) = > [...элемент списка] export const DeleteTodo = (list, item) = > [...список, пункт]
И когда вы импортируете, вам нужно будет уничтожить их, как
import {AddTodo, DeleteTodo}from './todoHelpers'
Теперь, поскольку у вас есть несколько таких экспортов, таким образом, babel не будет знать, к какому компоненту вы пытаетесь получить доступ, если вы получаете доступ, если под другим именем, например
import {MyAddTodo, MyDeleteTodo}from './todoHelpers'
Если вы хотите сделать это, вам придется импортировать их как есть, и они изменят свое имя, как
import {AddTodo as MyAddTodo, DeleteTodo as MyDeleteTodo}from './todoHelpers'
Таким образом, в качестве общей практики вы будете
default export
основной компонент, а остальное вы можете иметь в качестве экспорта обычно или когда у вас есть только один компонент, который вам нужно экспортировать из файла, то вы можете выбрать все, что вы хотите, но хороший способ будетexport
это по умолчанию.