当前位置: 首页 > 知识库问答 >
问题:

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

江佐
2023-03-14

我有两个文件,第一个是todoHelper。js

它有export const addTodo=(列表,项)=

稍后,我想在另一个文件中使用addTodo,我只需从'./todoHelper'导入{addTodo}

但我也看到人们在做默认导出,而不仅仅是导出。有什么区别?

共有2个答案

谭京
2023-03-14

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

export default k // in file my.js

可以使用别名“b”导入

import b from 'my.js'
澹台冯浩
2023-03-14

每个文件只能有一个导出默认值,因此当您导出默认值时,如

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

你可以像这样导入它

import MyAddTodo from './todoHelpers'

因为babel知道您正在尝试访问默认组件,所以您可以在文件中以任何名称访问它

现在假设你知道

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

您可以在文件中有多个这样的导出,如

js prettyprint-override">export const AddTodo = (list, item) => [...list, item]  
export const DeleteTodo = (list, item) => [...list, item]

当你导入时,你需要像这样分解它们

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

现在,由于您有多个这样的导出,因此如果您使用不同的名称(如if)访问,babel将不知道您要访问哪个组件

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

如果你想这样做,你将不得不导入他们,因为它是和他们改变他们的名字一样

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

因此,一般情况下,您将默认导出主组件和其他组件,作为正常导出,或者当您只有一个组件需要从文件中导出时,您可以选择您想要的任何组件,但一个好方法是将其导出为默认组件。

 类似资料:
  • 问题内容: 我有两个文件,第一个是todoHelper.js 它有 以后我想在另一个文件中使用,我只是做 但是我也看到人们在默认情况下执行导出而不只是导出。有什么区别? 问题答案: 每个文件只能有一个导出默认值,因此当您导出默认值时,例如 您可以像导入 由于babel知道您正在尝试访问默认组件,因此可以使用任何名称在文件中访问它 现在假设你做 您可以在文件中包含多个此类导出,例如 当您导入时,您将

  • 这似乎很明显,但我发现自己有点困惑,什么时候在ES6中为导入单个模块使用花括号。例如,在我正在处理的React-Native项目中,我有以下文件及其内容: 在todoReducer.js中,我必须在没有花括号的情况下导入它: 如果将括在花括号中,则会得到以下代码行的以下错误: 无法读取未定义的属性todo 类似的错误也发生在我的带有花括号的组件上。我在想什么时候应该对单个导入使用花括号,因为很明显

  • 问题内容: 这似乎很明显,但是我发现自己对于何时使用花括号在ES6中导入单个模块感到有些困惑。例如,在我正在从事的React- Native项目中,我具有以下文件及其内容: initialState.js 在TodoReducer.js中,我必须不带花括号将其导入: 如果将花括号括起来,则以下代码行将出现以下错误: 无法读取未定义的属性待办事项 TodoReducer.js: 带有花括号的组件也发

  • 问题内容: 有什么区别?什么时候应该使用容量为1的对抗? 问题答案: SynchronousQueue更像是一个传递,而LinkedBlockingQueue仅允许单个元素。区别在于对SynchronousQueue的put()调用直到有相应的take()调用 才返回 ,但LinkedBlockingQueue的大小为1,则put()调用(对空队列)将立即返回。 我不能说自己曾经直接使用过Sync

  • 问题内容: 我对使用和翻译有疑问。我了解到,在模型中,我应该使用。但是还有其他地方我也应该使用吗?表单定义呢?它们之间是否存在性能差异? 编辑: 还有一件事。有时候,代替被使用。正如文档所述,仅在将字符串显示给用户之前,才将字符串标记为要翻译,并在可能的最新情况下进行翻译,但是我在这里有点困惑,这与功能相似吗?我仍然很难决定在模型和表格中应该使用哪个。 问题答案: ugettext() 与 uge

  • 我想知道什么时候可以有效地使用。我不确定到底有多有用,有三个原因。 (请将start和end视为整数。) > 如果我想要一个数组,,下面的代码要快得多。 我不认为仅仅获取从到的数字是有用的。我可以将