[英]es6 import, export default,
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 }
更重要的是,為什么要使用第一種形式而不是第二種形式?
第一個片段是導出一個返回object
的function
。 第二個片段直接返回一個object
。
導入第一個片段時,您需要調用該函數來獲取對象。 同時您可以直接從第二個片段導入對象。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.