如何将React-Redux项目导出为node_module



我正在尝试将redux项目导出为 node_module,其中显示了下面显示的index.js(简化):

import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import promiseMiddleware from 'redux-promise-middleware';
import App from './App.jsx';
const middlewares = [thunk.withExtraArgument(), promiseMiddleware()];
const middlewareEnhancer = applyMiddleware(...middlewares);
const preloadedState = {};
const store = createStore(
    rootReducer,
    preloadedState,
    middlewareEnhancer
);
 const ExampleModule = (props) => {
    return (
        <Provider store={store}>
            <App />
        </Provider>
    );
};
export default ExampleModule;

在我的主要应用程序中:

...
import ExampleModule from 'example-module';
class Application extends React.Component {
    render() {
        return <ExampleModule />;
    }
}
function mapStateToProps({ state }) {
    return {
        state: state
    };
}
function mapDispatchToProps(dispatch) {
    return { 
        actions: bindActionCreators(require('..').actions, dispatch) 
    };
}
export default connect(mapStateToProps, mapDispatchToProps)(Application);

这引发了一个错误: bundle.js:349 Uncaught Invariant Violation: Could not find "store" in either the context or props of "Connect(App)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(App)"

我认为这是因为这本质上是嵌套的<Providers>,这违背了Redux的一家商店的方法。

我的问题将是发布其中包含Redux商店的Node_module的最佳方法?

在此处找到答案:https://redux.js.org/recipes/isolating-redux-sub-apps

它将商店保持到组件的本地。

最新更新