ModusCreateOrg/budgeting

View on GitHub
app/index.js

Summary

Maintainability
A
0 mins
Test Coverage
// @flow
import { Provider } from 'react-redux';
import ReactDOM from 'react-dom';
import * as React from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import { AppContainer } from 'react-hot-loader';

import App from 'containers/App';
import store from 'store';

const renderApp = (Component: React.ComponentType<any>) => {
  const target = document.getElementById('root');
  if (!target) return;

  ReactDOM.render(
    <React.Suspense fallback={null}>
      <Provider store={store}>
        <Router>
          <AppContainer>
            <Component />
          </AppContainer>
        </Router>
      </Provider>
    </React.Suspense>,
    target
  );
};

renderApp(App);

// Hot Module Replacement API
if (module && module.hot && module.hot.accept) {
  module.hot.accept('containers/App', () => renderApp(App));
}