Fix(challenges): Reset challenge ui on unmount

pull/7430/head
Berkeley Martinez 2016-06-20 21:12:41 -07:00
parent fab3d72dce
commit 60cd5c76f8
1 changed files with 10 additions and 3 deletions

View File

@ -13,7 +13,8 @@ import Video from './video/Video.jsx';
import {
fetchChallenge,
fetchChallenges,
replaceChallenge
replaceChallenge,
resetUi
} from '../redux/actions';
import { challengeSelector } from '../redux/selectors';
@ -28,7 +29,8 @@ const views = {
const bindableActions = {
fetchChallenge,
fetchChallenges,
replaceChallenge
replaceChallenge,
resetUi
};
const mapStateToProps = createSelector(
@ -60,9 +62,13 @@ export class Challenges extends PureComponent {
fetchChallenges: PropTypes.func,
replaceChallenge: PropTypes.func,
params: PropTypes.object,
areChallengesLoaded: PropTypes.bool
areChallengesLoaded: PropTypes.bool,
resetUi: PropTypes.func
};
componentWillUnmount() {
this.props.resetUi();
}
componentDidMount() {
if (!this.props.areChallengesLoaded) {
this.props.fetchChallenges();
@ -71,6 +77,7 @@ export class Challenges extends PureComponent {
componentWillReceiveProps(nextProps) {
if (this.props.params.dashedName !== nextProps.params.dashedName) {
this.props.resetUi();
this.props.replaceChallenge({
dashedName: nextProps.params.dashedName,
block: nextProps.params.block