我有两个文件,第一个是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文档中,装饰器的解释如下: 类方法将类作为隐式第一个参数接收,就像实例方法接收实例一样。 所以我想指的是自己(而不是实例)。我不完全理解为什么会这样,因为我总是可