componentDidUpdate()

in src/amo/pages/Addon/index.js [141:172]


  componentDidUpdate(prevProps) {
    const {
      addon: oldAddon,
      match: { params: oldParams },
    } = prevProps;
    const {
      addon: newAddon,
      addonIsLoading,
      dispatch,
      errorHandler,
      match: { params },
    } = this.props;

    if (errorHandler.hasError()) {
      return;
    }

    const oldAddonType = oldAddon ? oldAddon.type : null;
    if (newAddon && newAddon.type !== oldAddonType) {
      dispatch(setViewContext(newAddon.type));
    }

    if (!addonIsLoading && (!newAddon || oldParams.slug !== params.slug)) {
      dispatch(
        fetchAddon({
          showGroupedRatings: true,
          slug: params.slug,
          errorHandler,
        }),
      );
    }
  }