Skip to content

Instantly share code, notes, and snippets.

@MicroBenz
Created December 3, 2017 16:34
Show Gist options
  • Save MicroBenz/7c6b47583c7e01f2c6609fb6edd07933 to your computer and use it in GitHub Desktop.
Save MicroBenz/7c6b47583c7e01f2c6609fb6edd07933 to your computer and use it in GitHub Desktop.
Recompose
import React from 'react';
import { conenct } from 'react-redux';
import { compose, lifecycle, branch, renderComponent } from 'recompose';
import { loadCampers } from 'redux/campers/actions';
const enhance = compose(
connect(
state => ({
campers: state.campers.lists,
loading: state.campers.loading
}),
{ loadCampers }
),
branch(props => props.loading, renderComponent(Loader)),
lifecycle({
componentDidMount() {
this.props.loadCampers();
}
})
);
const Campers = props => {
const { campers = [] } = props;
return (
<div>
<CamperTable lists={campers.filter(camper => camper.role === 'design')} />
<CamperTable lists={campers.filter(camper => camper.role === 'marketing')} />
<CamperTable lists={campers.filter(camper => camper.role === 'programming')} />
<CamperTable lists={campers.filter(camper => camper.role === 'content')} />
</div>
);
};
export default enhance(Campers);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment