Add monitor to TodoMVC

This commit is contained in:
Dan Abramov 2015-07-15 00:25:02 +03:00
parent 38e6184f44
commit 72301fb741
2 changed files with 22 additions and 6 deletions

View File

@ -1,18 +1,32 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import TodoApp from './TodoApp'; import TodoApp from './TodoApp';
import { createStore, combineReducers } from 'redux'; import { createStore, combineReducers, compose } from 'redux';
import { devTools, persistState } from 'redux-devtools';
import { DevTools, DebugPanel, LogMonitor } from 'redux-devtools/lib/react';
import { Provider } from 'react-redux'; import { Provider } from 'react-redux';
import * as reducers from '../reducers'; import * as reducers from '../reducers';
const finalCreateStore = compose(
devTools(),
persistState(window.location.href.match(/[?&]debug_session=([^&]+)\b/)),
createStore
);
const reducer = combineReducers(reducers); const reducer = combineReducers(reducers);
const store = createStore(reducer); const store = finalCreateStore(reducer);
export default class App extends Component { export default class App extends Component {
render() { render() {
return ( return (
<Provider store={store}> <div>
{() => <TodoApp /> } <Provider store={store}>
</Provider> {() => <TodoApp /> }
</Provider>
<DebugPanel top right bottom>
<DevTools store={store}
monitor={LogMonitor} />
</DebugPanel>
</div>
); );
} }
} }

View File

@ -19,7 +19,9 @@ module.exports = {
], ],
resolve: { resolve: {
alias: { alias: {
'redux-devtools': path.join(__dirname, '..', '..', 'src') 'redux-devtools/lib': path.join(__dirname, '..', '..', 'src'),
'redux-devtools': path.join(__dirname, '..', '..', 'src'),
'react': path.join(__dirname, 'node_modules', 'react')
}, },
extensions: ['', '.js'] extensions: ['', '.js']
}, },