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 }更重要的是,为什么要用第一种形式而不是第二种形式呢?
发布于 2020-03-23 03:29:12
第一个片段正在导出一个返回object的function。第二个片段直接返回一个object。
当导入第一个片段时,需要调用函数来获取对象。同时,您可以直接从第二个片段导入对象。
发布于 2020-03-23 04:16:42
然后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 persistStorehttps://stackoverflow.com/questions/60807535
复制相似问题