Fixed: Error displayed occasionally after removing artist

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
pull/724/head
Qstick 6 years ago
parent 63f9338d2f
commit f0365eaaa7

@ -48,6 +48,16 @@ function createMapStateToProps() {
showSearchAction, showSearchAction,
executingCommands executingCommands
) => { ) => {
// If an artist is deleted this selector may fire before the parent
// selectors, which will result in an undefined artist, if that happens
// we want to return early here and again in the render function to avoid
// trying to show an artist that has no information available.
if (!artist) {
return {};
}
const isRefreshingArtist = executingCommands.some((command) => { const isRefreshingArtist = executingCommands.some((command) => {
return ( return (
command.name === commandNames.REFRESH_ARTIST && command.name === commandNames.REFRESH_ARTIST &&
@ -106,13 +116,19 @@ class ArtistIndexItemConnector extends Component {
render() { render() {
const { const {
id,
component: ItemComponent, component: ItemComponent,
...otherProps ...otherProps
} = this.props; } = this.props;
if (!id) {
return null;
}
return ( return (
<ItemComponent <ItemComponent
{...otherProps} {...otherProps}
id={id}
onRefreshArtistPress={this.onRefreshArtistPress} onRefreshArtistPress={this.onRefreshArtistPress}
onSearchPress={this.onSearchPress} onSearchPress={this.onSearchPress}
/> />
@ -121,7 +137,7 @@ class ArtistIndexItemConnector extends Component {
} }
ArtistIndexItemConnector.propTypes = { ArtistIndexItemConnector.propTypes = {
id: PropTypes.number.isRequired, id: PropTypes.number,
component: PropTypes.func.isRequired, component: PropTypes.func.isRequired,
executeCommand: PropTypes.func.isRequired executeCommand: PropTypes.func.isRequired
}; };

Loading…
Cancel
Save