From ce4601697275fc5d739dfc7fa20eda0d98e759b2 Mon Sep 17 00:00:00 2001 From: Lyn Nagara Date: Tue, 4 Jun 2019 12:15:04 -0700 Subject: [PATCH] feat(events-v2): Pass props to avoid withRouter According to @billyvg withRouter can lead to double render issues. --- .../sentry/app/views/organizationEventsV2/events.jsx | 5 +---- .../sentry/app/views/organizationEventsV2/index.jsx | 5 ++++- tests/js/spec/views/organizationEventsV2/index.spec.jsx | 8 +++++++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/sentry/static/sentry/app/views/organizationEventsV2/events.jsx b/src/sentry/static/sentry/app/views/organizationEventsV2/events.jsx index 325f420a9230e5..035d973b1f6f94 100644 --- a/src/sentry/static/sentry/app/views/organizationEventsV2/events.jsx +++ b/src/sentry/static/sentry/app/views/organizationEventsV2/events.jsx @@ -1,6 +1,5 @@ import React from 'react'; import PropTypes from 'prop-types'; -import {withRouter} from 'react-router'; import styled from 'react-emotion'; import {omit, isEqual} from 'lodash'; import SentryTypes from 'app/sentryTypes'; @@ -23,7 +22,7 @@ const CHART_AXIS_OPTIONS = [ {label: 'Users', value: 'user_count'}, ]; -class Events extends AsyncComponent { +export default class Events extends AsyncComponent { static propTypes = { router: PropTypes.object.isRequired, location: PropTypes.object.isRequired, @@ -132,5 +131,3 @@ const Container = styled('div')` const StyledSearchBar = styled(SearchBar)` margin-bottom: ${space(2)}; `; - -export default withRouter(Events); diff --git a/src/sentry/static/sentry/app/views/organizationEventsV2/index.jsx b/src/sentry/static/sentry/app/views/organizationEventsV2/index.jsx index b86462c950e8c2..f191a8d44db6a7 100644 --- a/src/sentry/static/sentry/app/views/organizationEventsV2/index.jsx +++ b/src/sentry/static/sentry/app/views/organizationEventsV2/index.jsx @@ -21,6 +21,7 @@ export default class OrganizationEventsV2 extends React.Component { static propTypes = { organization: SentryTypes.Organization.isRequired, location: PropTypes.object.isRequired, + router: PropTypes.object.isRequired, }; renderTabs() { @@ -46,7 +47,7 @@ export default class OrganizationEventsV2 extends React.Component { } render() { - const {organization, location} = this.props; + const {organization, location, router} = this.props; const {eventSlug} = location.query; return ( @@ -64,6 +65,8 @@ export default class OrganizationEventsV2 extends React.Component { {eventSlug && ( diff --git a/tests/js/spec/views/organizationEventsV2/index.spec.jsx b/tests/js/spec/views/organizationEventsV2/index.spec.jsx index 6a9980701de980..f1680b672e7eda 100644 --- a/tests/js/spec/views/organizationEventsV2/index.spec.jsx +++ b/tests/js/spec/views/organizationEventsV2/index.spec.jsx @@ -44,6 +44,7 @@ describe('OrganizationEventsV2', function() { , TestStubs.routerContext() ); @@ -56,6 +57,7 @@ describe('OrganizationEventsV2', function() { , TestStubs.routerContext() ); @@ -69,6 +71,7 @@ describe('OrganizationEventsV2', function() { , TestStubs.routerContext() ); @@ -82,8 +85,9 @@ describe('OrganizationEventsV2', function() { const wrapper = mount( , TestStubs.routerContext() ); @@ -109,6 +113,7 @@ describe('OrganizationEventsV2', function() { organization={organization} params={{orgId: organization.slug}} location={routerContext.context.location} + router={{}} />, routerContext ); @@ -144,6 +149,7 @@ describe('OrganizationEventsV2', function() { organization={organization} params={{orgId: organization.slug}} location={routerContext.context.location} + router={{}} />, routerContext );