in src/amo/pages/AddonVersions/index.js [78:113]
loadDataIfNeeded(prevProps?: InternalProps) {
const {
addon,
addonIsLoading,
areVersionsLoading,
dispatch,
errorHandler,
versions,
match: {
params: { slug },
},
} = this.props;
const oldAddon = prevProps && prevProps.addon;
if (errorHandler.hasError()) {
log.warn('Not loading data because of an error');
return;
}
// Fetch versions when the add-on changes.
const addonHasChanged = oldAddon && oldAddon.slug !== slug;
if ((!addon || addonHasChanged) && !addonIsLoading) {
dispatch(fetchAddon({ showGroupedRatings: true, slug, errorHandler }));
}
if (!areVersionsLoading && (!versions || addonHasChanged)) {
dispatch(
fetchVersions({
errorHandlerId: errorHandler.id,
slug,
}),
);
}
}