Created
September 12, 2015 13:00
-
-
Save jackcallister/80b09a6c332cd40369d6 to your computer and use it in GitHub Desktop.
Redux Refactor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from 'react' | |
import Header from '../components/people/PeopleHeader' | |
import Footer from '../components/people/PeopleFooter' | |
import Filtering from '../components/people/FilteringConnector' | |
import Toolbar from '../components/people/PeopleToolbarConnector' | |
import Table from '../components/people/PeopleTableConnector' | |
import EmptyBar from '../components/people/PeopleEmptyBarConnector' | |
export default class People { | |
render() { | |
return ( | |
<section> | |
<Header /> | |
<Filtering /> | |
<Toolbar /> | |
<Table /> | |
<EmptyBar /> | |
<Footer /> | |
</section> | |
) | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var React = require('react'), | |
Router = require('react-router'), | |
Link = Router.Link, | |
AltContainer = require('alt/AltContainer'), | |
PeopleFilters = require('../components/people/people-filters'), | |
PeopleToolbar = require('../components/people/people-toolbar'), | |
PeopleTable = require('../components/people/people-table'), | |
PeopleHeader = require('../components/people/people-header'), | |
PeopleBottomBar = require('../components/people/people-bottom-bar'), | |
PeopleEmptyBar = require('../components/people/people-empty-bar'); | |
var People = React.createClass({ | |
mixins: [Router.State], | |
componentDidMount: function() { | |
this._loadPeople(); | |
}, | |
componentWillReceiveProps: function() { | |
this._loadPeople(); | |
}, | |
render: function() { | |
return ( | |
<section> | |
<PeopleHeader flux={this.props.flux} /> | |
<AltContainer flux={this.props.flux} | |
stores={{ | |
TopicsStore: this.props.flux.getStore('TopicsStore'), | |
SkillsStore: this.props.flux.getStore('SkillsStore'), | |
LanguagesStore: this.props.flux.getStore('LanguagesStore') | |
}} | |
actions={{ | |
TopicsActions: this.props.flux.getActions('TopicsActions'), | |
SkillsActions: this.props.flux.getActions('SkillsActions'), | |
LanguagesActions: this.props.flux.getActions('LanguagesActions') | |
}}> | |
<PeopleFilters /> | |
</AltContainer> | |
<AltContainer flux={this.props.flux} | |
stores={{ | |
PeopleStore: this.props.flux.getStore('PeopleStore') | |
}}> | |
<PeopleToolbar /> | |
</AltContainer> | |
<AltContainer stores={{ | |
PeopleStore: this.props.flux.getStore('PeopleStore'), | |
UniverseStore: this.props.flux.getStore('UniverseStore') | |
}} | |
actions={{ | |
PeopleActions: this.props.flux.getActions('PeopleActions') | |
}}> | |
<PeopleTable /> | |
</AltContainer> | |
<AltContainer stores={{ | |
SearchStore: this.props.flux.getStore('SearchStore'), | |
SortStore: this.props.flux.getStore('SortStore'), | |
PeopleStore: this.props.flux.getStore('PeopleStore') | |
}}> | |
<PeopleEmptyBar /> | |
</AltContainer> | |
<AltContainer flux={this.props.flux}> | |
<PeopleBottomBar /> | |
</AltContainer> | |
</section> | |
); | |
}, | |
_loadPeople: function() { | |
if (!this.props.flux.getStore('PeopleStore').getState().error) { | |
this.props.flux.getActions('PeopleActions').beginLoadingPeople(this.getQuery()); | |
} | |
} | |
}); | |
module.exports = People; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment