Skip to content

Instantly share code, notes, and snippets.

@phpsmarter
Forked from abhiaiyer91/mapProps.js
Created January 16, 2018 10:54
Show Gist options
  • Save phpsmarter/332363ddf1422cd6985b430fb153bb9c to your computer and use it in GitHub Desktop.
Save phpsmarter/332363ddf1422cd6985b430fb153bb9c to your computer and use it in GitHub Desktop.
import { get } from 'lodash';
import { withRouter } from 'react-router';
import { graphql } from 'react-apollo';
import { compose, mapProps } from 'recompose';
import jobListQuery from './jobList.graphql';
function SomeBaseComponent() {
{/*... some component...*/}
}
export default compose(
withRouter,
graphql(jobListQuery, {
options: ({ match, jobFilter, offset }) => {
const vanityUrl = match.params.id;
return {
variables: {
vanityUrl,
jobFilter,
offset,
},
};
},
}),
mapProps(({ data, ...rest }) => {
const jobs = get(data, 'jobsByEmployerId.jobs');
const total = get(data, 'jobsByEmployerId.total');
return {
ready: !data.loading,
listData: jobs,
pageCount: Math.ceil(total / 20),
...rest,
};
})
)(SomeBaseComponent);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment