mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 17:36:08 +08:00
33 lines
975 B
JavaScript
33 lines
975 B
JavaScript
export default async function loadReactRedux(storeReducer) {
|
|
const React = await import('react');
|
|
const { render, unmountComponentAtNode } = await import('react-dom');
|
|
const { Provider } = await import('react-redux');
|
|
const { createStore, applyMiddleware } = await import('redux');
|
|
const { default: reduxThunk } = await import('redux-thunk');
|
|
const { default: reduxPromise } = await import('redux-promise-middleware');
|
|
|
|
const reduxMiddlewares = [];
|
|
reduxMiddlewares.push(reduxThunk);
|
|
reduxMiddlewares.push(reduxPromise);
|
|
|
|
if (process.env.NODE_ENV !== 'production') {
|
|
const { createLogger } = await import('redux-logger');
|
|
reduxMiddlewares.push(createLogger({
|
|
collapsed: true,
|
|
duration: true,
|
|
}));
|
|
}
|
|
|
|
const store = createStore(storeReducer, applyMiddleware(...reduxMiddlewares));
|
|
|
|
return {
|
|
React,
|
|
render,
|
|
unmountComponentAtNode,
|
|
Provider,
|
|
store,
|
|
};
|
|
}
|
|
|
|
window.Hydro.utils.loadReactRedux = loadReactRedux;
|