diff --git a/react/index.d.ts b/react/index.d.ts index 8d5edbab51..dd2add0e0e 100644 --- a/react/index.d.ts +++ b/react/index.d.ts @@ -201,7 +201,7 @@ declare namespace React { type SFC

= StatelessComponent

; interface StatelessComponent

{ - (props: P, context?: any): ReactElement; + (props: P & { children?: ReactNode }, context?: any): ReactElement; propTypes?: ValidationMap

; contextTypes?: ValidationMap; defaultProps?: P; diff --git a/react/react-tests.ts b/react/react-tests.ts index 7cdecd9e86..ae9538b294 100644 --- a/react/react-tests.ts +++ b/react/react-tests.ts @@ -152,6 +152,10 @@ StatelessComponent2.defaultProps = { foo: 42 }; +var StatelessComponent3: React.SFC = + // allows usage of props.children + props => React.DOM.div(null, props.foo, props.children); + // React.createFactory var factory: React.CFactory = React.createFactory(ModernComponent); diff --git a/react/react-tsx-tests.tsx b/react/react-tsx-tests.tsx index 3756659a53..f5437f751b 100644 --- a/react/react-tsx-tests.tsx +++ b/react/react-tsx-tests.tsx @@ -13,3 +13,13 @@ StatelessComponent.defaultProps = { }; ; + +var StatelessComponent2: React.SFC = ({ foo, children }) => { + return

{ foo }{ children }
; +}; +StatelessComponent2.displayName = "StatelessComponent4"; +StatelessComponent2.defaultProps = { + foo: 42 +}; + +24;