diff --git a/types/react-transition-group/Transition.d.ts b/types/react-transition-group/Transition.d.ts index 123f8b1622..f8722a41d8 100644 --- a/types/react-transition-group/Transition.d.ts +++ b/types/react-transition-group/Transition.d.ts @@ -16,7 +16,13 @@ export interface TransitionActions { exit?: boolean; } -export type TransitionChildren = React.ReactNode | ((status: string) => React.ReactNode); +type TransitionStatus = + typeof ENTERING | + typeof ENTERED | + typeof EXITING | + typeof EXITED | + typeof UNMOUNTED; +export type TransitionChildren = React.ReactNode | ((status: TransitionStatus) => React.ReactNode); export interface TransitionProps extends TransitionActions { in?: boolean; mountOnEnter?: boolean; diff --git a/types/react-transition-group/index.d.ts b/types/react-transition-group/index.d.ts index 785e1f1941..2d97f64ce6 100644 --- a/types/react-transition-group/index.d.ts +++ b/types/react-transition-group/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/reactjs/react-transition-group // Definitions by: Karol Janyst // Epskampie +// Masafumi Koba // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 diff --git a/types/react-transition-group/react-transition-group-tests.tsx b/types/react-transition-group/react-transition-group-tests.tsx index ce096f3dc7..172d91ce54 100644 --- a/types/react-transition-group/react-transition-group-tests.tsx +++ b/types/react-transition-group/react-transition-group-tests.tsx @@ -52,7 +52,16 @@ const Test: React.StatelessComponent = () => {
{ "test" }
- {(status) =>
{status}
} + {(status) => { + switch (status) { + case ENTERING: + case ENTERED: + case EXITING: + case EXITED: + case UNMOUNTED: + return
{status}
; + } + }}