我什么时候应该在导入中使用括号

IT技术 javascript reactjs webpack ecmascript-6
2021-03-06 02:33:19

我有两个文件,第一个是 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) => [...list, item]  
export const DeleteTodo = (list, item) => [...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其作为默认值.

使用默认值的好处是,当其他文件导入它时,它不需要{},对吗?那好处太少了哈哈。
2021-04-16 02:33:19
何时使用导出默认值?当你有 1 个出口?
2021-04-28 02:33:19
是的,您可以在有一个导出时使用它。尽管由您决定,但限制是每个文件只能有一个默认导出
2021-05-15 02:33:19
很高兴有帮助:)
2021-05-15 02:33:19

使用带导出的默认关键字使我们可以自由地使用别名导入

export default k // in file my.js

可以使用别名 'b' 导入

import b from 'my.js'