aboutsummaryrefslogtreecommitdiff
path: root/src/client/react/components/container/View.js
diff options
context:
space:
mode:
authorNoah Loomans <noahloomans@gmail.com>2018-02-09 17:04:12 +0100
committerNoah Loomans <noahloomans@gmail.com>2018-02-09 17:04:12 +0100
commit6926de1108b1a084e133d5f8363f080d7c20a99f (patch)
treece27ac5a024e6a0e342037d3ea03ddf7ca6c3c82 /src/client/react/components/container/View.js
parent8d5bccc8984618c9282e9592882835819306fa07 (diff)
Use classes instead of stateless functions for Components
Diffstat (limited to 'src/client/react/components/container/View.js')
-rw-r--r--src/client/react/components/container/View.js29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/client/react/components/container/View.js b/src/client/react/components/container/View.js
index f919dbc..96611d5 100644
--- a/src/client/react/components/container/View.js
+++ b/src/client/react/components/container/View.js
@@ -11,6 +11,20 @@ import Schedule from '../presentational/Schedule';
import Loading from '../presentational/Loading';
class View extends React.Component {
+ static propTypes = {
+ schedules: PropTypes.objectOf(PropTypes.objectOf(PropTypes.shape({
+ state: PropTypes.string.isRequired,
+ htmlStr: PropTypes.string,
+ }))).isRequired,
+
+ // react-router
+ match: PropTypes.object.isRequired,
+ location: PropTypes.object.isRequired,
+
+ // redux
+ dispatch: PropTypes.func.isRequired,
+ };
+
componentDidMount() {
this.fetchScheduleIfNeeded();
}
@@ -49,7 +63,6 @@ class View extends React.Component {
switch (schedule.state) {
case 'NOT_REQUESTED':
- return <Loading />;
case 'FETCHING':
return <Loading />;
case 'FINISHED':
@@ -60,20 +73,6 @@ class View extends React.Component {
}
}
-View.propTypes = {
- schedules: PropTypes.objectOf(PropTypes.objectOf(PropTypes.shape({
- state: PropTypes.string.isRequired,
- htmlStr: PropTypes.string,
- }))).isRequired,
-
- // react-router
- match: PropTypes.object.isRequired,
- location: PropTypes.object.isRequired,
-
- // redux
- dispatch: PropTypes.func.isRequired,
-};
-
const mapStateToProps = state => ({
schedules: state.view.schedules,
});