-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
38 lines (31 loc) · 993 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
import { saveState } from './localStorage.js';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import { createLogger } from 'redux-logger';
import { createEpicMiddleware } from 'redux-observable';
import throttle from 'lodash/throttle';
import 'rxjs';
import rootReducer from './redux/reducers';
import rootEpic from './redux/epics';
const loggerMiddleware = createLogger();
const store = createStore(
rootReducer,
applyMiddleware(createEpicMiddleware(rootEpic), loggerMiddleware)
);
store.subscribe(throttle(() => {
saveState({
favourites: store.getState().recipe.favourites
})
}, 1000));
const ReduxApp = () => (
<Provider store={store}>
<App />
</Provider>
);
ReactDOM.render(<ReduxApp />, document.getElementById('root'));
registerServiceWorker();