当前位置: 首页 > 面试题库 >

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

魏学智
2023-03-14
问题内容

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

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

以后我想addTodo在另一个文件中使用,我只是做import {addTodo} from './todoHelpers'

但是我也看到人们在默认情况下执行导出而不只是导出。有什么区别?


问题答案:

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

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默认情况下会采用一种不错的方法。



 类似资料:
  • 我有两个文件,第一个是todoHelper。js 它有 导入{addTodo} 但我也看到人们在做默认导出,而不仅仅是导出。有什么区别?

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

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

  • 问题内容: 我知道他们两个都禁用了Nagle的算法。 我什么时候应该/不应该使用它们中的每一个? 问题答案: 首先,不是所有人都禁用Nagle的算法。 Nagle的算法用于减少有线中更多的小型网络数据包。该算法是:如果数据小于限制(通常是MSS),请等待直到收到先前发送的数据包的ACK,同时累积用户的数据。然后发送累积的数据。 这将对telnet等应用程序有所帮​​助。但是,在发送流数据时,等待A

  • 问题内容: 在该类中,有两个字符串,和。 有什么不同?我什么时候应该使用另一个? 问题答案: 如果你的意思是和则: 用于在文件路径列表中分隔各个文件路径。考虑在上的环境变量。您使用a分隔文件路径,因此在上将是;。 是或用于拆分到特定文件的路径。例如在上,或

  • 问题内容: 在集成我以前从未使用过的Django应用程序时,我发现了用于定义类中函数的两种不同方式。作者似乎非常有意地使用了它们。第一个是我自己经常使用的: 另一个是我不使用的,主要是因为我不知道何时使用它,以及什么用途: 在Python文档中,装饰器的解释如下: 类方法将类作为隐式第一个参数接收,就像实例方法接收实例一样。 所以我想指的是自己(而不是实例)。我不完全理解为什么会这样,因为我总是可