store: Pass middleware correctly

Get rid of duplicate entry points.

Depending on the NODE_ENV, add the logger middleware in AppEntry.

Filter out undefined items to avoid 'middleware is not a function' error.
This commit is contained in:
Sanne Raymaekers 2021-08-04 09:16:11 +02:00 committed by Tom Gundersen
parent 2b4516856f
commit fa7746b694
5 changed files with 3 additions and 32 deletions

View file

@ -3,11 +3,11 @@ import { BrowserRouter as Router } from 'react-router-dom';
import { Provider } from 'react-redux';
import { init } from './store';
import App from './App';
import { getBaseName } from '@redhat-cloud-services/frontend-components-utilities/helpers';
import logger from 'redux-logger';
const ImageBuilder = () => (
<Provider store={ init({}).getStore() }>
<Provider store={ init({}, process.env.NODE_ENV !== 'production' ? logger : undefined).getStore() }>
<Router basename={ getBaseName(window.location.pathname) }>
<App />
</Router>

View file

@ -1,22 +0,0 @@
import React from 'react';
import PropTypes from 'prop-types';
import { BrowserRouter as Router } from 'react-router-dom';
import { Provider } from 'react-redux';
import { init } from './store';
import App from './App';
import { getBaseName } from '@redhat-cloud-services/frontend-components-utilities/helpers';
const ImageBuilder = ({ logger }) => (
<Provider store={ init({}, logger).getStore() }>
<Router basename={ getBaseName(window.location.pathname) }>
<App />
</Router>
</Provider>
);
ImageBuilder.propTypes = {
logger: PropTypes.any
};
export default ImageBuilder;

View file

@ -1,6 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import logger from 'redux-logger';
import ImageBuilder from './DevEntry';
ReactDOM.render(<ImageBuilder logger={ logger } />, document.getElementById('root'));

View file

@ -1 +0,0 @@
import('./bootstrap-dev');

View file

@ -13,7 +13,7 @@ export function init (store = {}, ...middleware) {
registry = new ReducerRegistry(store, [
promiseMiddleware,
thunk,
...middleware
...middleware.filter(item => typeof item !== 'undefined'),
]);
registry.register({