我有两个文件,第一个是todoHelper.js
它有export const addTodo = (list, item) => [...list, item]
稍后我想在另一个文件中使用addTodo
,我只是import {addTodo} from './todoHelpers'
但我也看到人们做出口违约而不仅仅是出口。差异是什么?
答案 0 :(得分:7)
每个文件只能有一个导出默认值,因此当您执行导出默认值时,如
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)=> [... 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
。
答案 1 :(得分:0)
使用带导出的默认关键字,我们可以自由地使用别名
导入export default k // in file my.js
可以使用别名' b'
导入import b from 'my.js'