diff --git a/react-redux/react-redux-tests.tsx b/react-redux/react-redux-tests.tsx
index 4158a035ed..d22f3aef46 100644
--- a/react-redux/react-redux-tests.tsx
+++ b/react-redux/react-redux-tests.tsx
@@ -285,6 +285,37 @@ let ConnectedHelloMessage = connect()(HelloMessage);
ReactDOM.render(, document.getElementById('content'));
ReactDOM.render(, document.getElementById('content'));
+// stateless functions that uses mapStateToProps and mapDispatchToProps
+namespace TestStatelessFunctionWithMapArguments {
+ interface GreetingProps {
+ name: string;
+ onClick: () => void;
+ }
+
+ function Greeting(props: GreetingProps) {
+ return
Hello {props.name}
;
+ }
+
+ const mapStateToProps = (state: any, ownProps: GreetingProps) => {
+ return {
+ name: 'Connected! ' + ownProps.name
+ };
+ };
+
+ const mapDispatchToProps = (dispatch: Dispatch, ownProps: GreetingProps) => {
+ return {
+ onClick: () => {
+ dispatch({ type: 'GREETING', name: ownProps.name });
+ }
+ };
+ };
+
+ const ConnectedGreeting = connect(
+ mapStateToProps,
+ mapDispatchToProps
+ )(Greeting);
+}
+
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/8787
namespace TestTOwnPropsInference {
interface OwnProps {
diff --git a/react-redux/react-redux.d.ts b/react-redux/react-redux.d.ts
index 0e7810e352..2e3e69dc68 100644
--- a/react-redux/react-redux.d.ts
+++ b/react-redux/react-redux.d.ts
@@ -11,7 +11,7 @@ declare module "react-redux" {
import { Store, Dispatch, ActionCreator } from 'redux';
interface ComponentDecorator {
- (component: ComponentClass): ComponentClass;
+ (component: ComponentClass|StatelessComponent): ComponentClass;
}
/**