From fab3d72dce19143a484c87f40a88164245daa1e8 Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Mon, 20 Jun 2016 21:08:07 -0700 Subject: [PATCH] Fix(map): prevent loading a challenge from refetching --- common/app/routes/challenges/components/Show.jsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/common/app/routes/challenges/components/Show.jsx b/common/app/routes/challenges/components/Show.jsx index 2e57dd14a9..c4a9a5adeb 100644 --- a/common/app/routes/challenges/components/Show.jsx +++ b/common/app/routes/challenges/components/Show.jsx @@ -34,9 +34,11 @@ const bindableActions = { const mapStateToProps = createSelector( challengeSelector, state => state.challengesApp.challenge, - ({ viewType }, challenge) => ({ + state => state.challengesApp.superBlocks, + ({ viewType }, challenge, superBlocks = []) => ({ challenge, - viewType + viewType, + areChallengesLoaded: superBlocks.length > 0 }) ); @@ -57,11 +59,14 @@ export class Challenges extends PureComponent { isStep: PropTypes.bool, fetchChallenges: PropTypes.func, replaceChallenge: PropTypes.func, - params: PropTypes.object + params: PropTypes.object, + areChallengesLoaded: PropTypes.bool }; componentDidMount() { - this.props.fetchChallenges(); + if (!this.props.areChallengesLoaded) { + this.props.fetchChallenges(); + } } componentWillReceiveProps(nextProps) {