@@ -91,6 +91,9 @@ class AsyncComponent<
}
+ // TODO(epurkhiser): Move UNSAFE_componentWillMount into here
+ componentDidMount() {}
+
componentDidUpdate(prevProps: P, prevContext: any) {
const isRouterInContext = !!prevContext.router;
const isLocationInProps = prevProps.location !== undefined;
@@ -60,6 +60,7 @@ class InviteMembersModal extends AsyncComponent<Props, State> {
sessionId = '';
componentDidMount() {
+ super.componentDidMount();
this.sessionId = uniqueId();
const {organization, source} = this.props;
@@ -41,6 +41,7 @@ export default class SentryAppDetailsModal extends AsyncComponent<Props, State>
this.trackOpened();
@@ -133,6 +133,7 @@ class RuleFormContainer extends AsyncComponent<Props, State> {
const {organization} = this.props;
const {project} = this.state;
// SearchBar gets its tags from Reflux.
@@ -55,6 +55,7 @@ class ProjectErrorsBasicChart extends AsyncComponent<Props, State> {
const {location} = this.props;
if (!ERRORS_BASIC_CHART_PERIODS.includes(location.query.statsPeriod)) {
browserHistory.replace({
@@ -63,6 +63,7 @@ class ProjectDetail extends AsyncView<Props, State> {
this.syncProjectWithSlug();
@@ -43,6 +43,7 @@ class PlatformIntegrationSetup extends AsyncComponent<Props, State> {
window.scrollTo(0, 0);
const {platform} = this.props.params;
@@ -259,6 +259,7 @@ class ReleasesDetailContainer extends AsyncComponent<
this.removeGlobalDateTimeFromUrl();
this.props.setRouteAnalyticsParams({release: this.props.params.release});
@@ -189,6 +189,7 @@ class AccountSecurityEnroll extends AsyncView<Props, State> {
this.pendingInvitation = getPendingInvite();
@@ -60,6 +60,7 @@ class NotificationSettings extends AsyncComponent<Props, State> {
// only tied to a user
trackAnalytics('notification_settings.index_page_viewed', {
organization: null,