为了账号安全,请及时绑定邮箱和手机立即绑定

es6导入,导出默认,

es6导入,导出默认,

料青山看我应如是 2022-05-26 14:18:59
https://github.com/rt2zz/redux-persist显示以下代码片段const persistedReducer = persistReducer(persistConfig, rootReducer)export default () => {  let store = createStore(persistedReducer)  let persistor = persistStore(store)  return { store, persistor }}您可以改为这样做,两者之间有什么区别?const persistedReducer = persistReducer(persistConfig, rootReducer)let store = createStore(persistedReducer)let persistor = persistStore(store)export { store, persistor }编辑更重要的是,为什么要使用第一种形式而不是第二种形式?
查看完整描述

2 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

一个片段是导出 a function,它返回 a object。第二个片段直接返回 a object

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


查看完整回答
反对 回复 2022-05-26
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

vi a.mjs然后写:


export default () => {

  let store = 'createStore';

  let persistor = 'persistStore';

  return { store, persistor }

}


let store = 'createStore';

let persistor = 'persistStore';

export { store, persistor }

vi b.mjs然后写:


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


你会得到这样的结果:


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


查看完整回答
反对 回复 2022-05-26
  • 2 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信