From a6bbbc537eb26592dfdf025fd9afaff42b2e9f71 Mon Sep 17 00:00:00 2001 From: NickBolles Date: Fri, 19 Oct 2018 16:10:01 -0500 Subject: [PATCH] Add a few tests and examples for typing WithRouter better --- .../test/next-server-router-tests.tsx | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/types/next-server/test/next-server-router-tests.tsx b/types/next-server/test/next-server-router-tests.tsx index 5cc3e4ab05..bac699b4e7 100644 --- a/types/next-server/test/next-server-router-tests.tsx +++ b/types/next-server/test/next-server-router-tests.tsx @@ -70,14 +70,14 @@ Router.prefetch("/route").then(Component => { const element = ; }); -interface TestComponentProps { +interface TestComponentProps extends WithRouterProps { testValue: string; } -class TestComponent extends React.Component { +class TestComponent extends React.Component { state = { ready: false }; - constructor(props: TestComponentProps & WithRouterProps) { + constructor(props: TestComponentProps) { super(props); props.router.ready(() => { this.setState({ ready: true }); @@ -97,12 +97,10 @@ class TestComponent extends React.Component { state = { ready: false }; @@ -124,15 +122,32 @@ class TestComponent2 extends React.Component { } } -let TestComponent2WithRouter = withRouter(TestComponent2) -let res = +const TestComponent2WithRouter = withRouter(TestComponent2); +const res = ; interface TestSFCQuery { test?: string; } -interface TestSFCProps extends WithRouterProps { } +interface TestSFCProps extends WithRouterProps { + testProp: string; +} const TestSFC: React.SFC = ({ router }) => { return
{router.query && router.query.test}
; }; +const TestSFCComponent = withRouter(TestSFC); + +const res2 = ; + +const TestSFC2 = withRouter(({ router }) => { + return
{router.query && router.query.test}
; +}); + +const res3 = ; + +const TestSFC3 = withRouter(({ router }) => { + return
{router.query && router.query.test}
; +}); + +const res4 = ;