Fixed: Clear pending releases to prevent stale results

pull/3939/head
Bogdan 1 year ago
parent 27518a27fb
commit 86776e6d2e

@ -1,9 +1,19 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { cancelFetchReleases, clearReleases } from 'Store/Actions/releaseActions';
import AlbumInteractiveSearchModal from './AlbumInteractiveSearchModal';
function createMapDispatchToProps(dispatch, props) {
return {
dispatchCancelFetchReleases() {
dispatch(cancelFetchReleases());
},
dispatchClearReleases() {
dispatch(clearReleases());
},
onModalClose() {
dispatch(cancelFetchReleases());
dispatch(clearReleases());
@ -12,4 +22,38 @@ function createMapDispatchToProps(dispatch, props) {
};
}
export default connect(null, createMapDispatchToProps)(AlbumInteractiveSearchModal);
class AlbumInteractiveSearchModalConnector extends Component {
//
// Lifecycle
componentWillUnmount() {
this.props.dispatchCancelFetchReleases();
this.props.dispatchClearReleases();
}
//
// Render
render() {
const {
dispatchCancelFetchReleases,
dispatchClearReleases,
...otherProps
} = this.props;
return (
<AlbumInteractiveSearchModal
{...otherProps}
/>
);
}
}
AlbumInteractiveSearchModalConnector.propTypes = {
...AlbumInteractiveSearchModal.propTypes,
dispatchCancelFetchReleases: PropTypes.func.isRequired,
dispatchClearReleases: PropTypes.func.isRequired
};
export default connect(null, createMapDispatchToProps)(AlbumInteractiveSearchModalConnector);

@ -1,9 +1,19 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { cancelFetchReleases, clearReleases } from 'Store/Actions/releaseActions';
import ArtistInteractiveSearchModal from './ArtistInteractiveSearchModal';
function createMapDispatchToProps(dispatch, props) {
return {
dispatchCancelFetchReleases() {
dispatch(cancelFetchReleases());
},
dispatchClearReleases() {
dispatch(clearReleases());
},
onModalClose() {
dispatch(cancelFetchReleases());
dispatch(clearReleases());
@ -12,4 +22,38 @@ function createMapDispatchToProps(dispatch, props) {
};
}
export default connect(null, createMapDispatchToProps)(ArtistInteractiveSearchModal);
class ArtistInteractiveSearchModalConnector extends Component {
//
// Lifecycle
componentWillUnmount() {
this.props.dispatchCancelFetchReleases();
this.props.dispatchClearReleases();
}
//
// Render
render() {
const {
dispatchCancelFetchReleases,
dispatchClearReleases,
...otherProps
} = this.props;
return (
<ArtistInteractiveSearchModal
{...otherProps}
/>
);
}
}
ArtistInteractiveSearchModalConnector.propTypes = {
...ArtistInteractiveSearchModal.propTypes,
dispatchCancelFetchReleases: PropTypes.func.isRequired,
dispatchClearReleases: PropTypes.func.isRequired
};
export default connect(null, createMapDispatchToProps)(ArtistInteractiveSearchModalConnector);

Loading…
Cancel
Save