2016-06-27 20:14:26 +00:00
|
|
|
import React, { PropTypes } from 'react';
|
2016-05-18 17:37:59 +00:00
|
|
|
import { connect } from 'react-redux';
|
2016-06-22 22:36:04 +00:00
|
|
|
import DevTools from './components/DevTools';
|
2016-05-18 17:37:59 +00:00
|
|
|
|
|
|
|
class App extends React.Component {
|
|
|
|
constructor(props, context) {
|
|
|
|
super(props, context);
|
2016-06-23 22:29:55 +00:00
|
|
|
this.state = { isMounted: false };
|
2016-06-22 22:36:04 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
componentDidMount() {
|
2016-06-27 21:22:54 +00:00
|
|
|
this.setState({ isMounted: true }); // eslint-disable-line react/no-did-mount-set-state
|
2016-05-18 17:37:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
render() {
|
|
|
|
return (
|
2016-09-14 16:46:54 +00:00
|
|
|
<div className="app">
|
2016-06-22 22:36:04 +00:00
|
|
|
{this.state.isMounted && !window.devToolsExtension && process.env.NODE_ENV === 'development' && <DevTools />}
|
2016-06-23 22:29:55 +00:00
|
|
|
{this.props.children}
|
2016-05-18 17:37:59 +00:00
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-06-27 20:14:26 +00:00
|
|
|
App.propTypes = {
|
2016-09-14 16:46:54 +00:00
|
|
|
children: PropTypes.object
|
2016-06-27 20:14:26 +00:00
|
|
|
};
|
|
|
|
|
2016-06-23 22:29:55 +00:00
|
|
|
export default connect()(App);
|