首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >es6导入,导出默认,

es6导入,导出默认,
EN

Stack Overflow用户
提问于 2020-03-23 03:16:25
回答 2查看 106关注 0票数 1

https://github.com/rt2zz/redux-persist显示了下面的代码片段

代码语言:javascript
复制
const persistedReducer = persistReducer(persistConfig, rootReducer)

export default () => {
  let store = createStore(persistedReducer)
  let persistor = persistStore(store)
  return { store, persistor }
}

你可以这样做,两者有什么区别呢?

代码语言:javascript
复制
const persistedReducer = persistReducer(persistConfig, rootReducer)

let store = createStore(persistedReducer)
let persistor = persistStore(store)
export { store, persistor }

  • EDIT

更重要的是,为什么要用第一种形式而不是第二种形式呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-23 03:29:12

第一个片段正在导出一个返回objectfunction第二个片段直接返回一个object

当导入第一个片段时,需要调用函数来获取对象。同时,您可以直接从第二个片段导入对象。

票数 1
EN

Stack Overflow用户

发布于 2020-03-23 04:16:42

然后vi a.mjs写:

代码语言:javascript
复制
export default () => {
  let store = 'createStore';
  let persistor = 'persistStore';
  return { store, persistor }
}

let store = 'createStore';
let persistor = 'persistStore';
export { store, persistor }

然后vi b.mjs写:

代码语言:javascript
复制
import a from './a.mjs';
import * as $a from './a.mjs';
import { store, persistor } from './a.mjs';

console.log('export default function:', a);
console.log('export object:', $a);
console.log('export object.default:', $a.default);
console.log('export { store, persistor }:', store, persistor);

node --experimental-modules b.mjs

你会得到这样的结果:

代码语言:javascript
复制
export default function: [Function: default]
export object: [Module] {
  default: [Function: default],
  persistor: 'persistStore',
  store: 'createStore'
}
export object.default: [Function: default]
export { store, persistor }: createStore persistStore
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60807535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档