diff --git a/src/driver/connect.ts b/src/driver/connect.ts
index 66933a3..b061f31 100644
--- a/src/driver/connect.ts
+++ b/src/driver/connect.ts
@@ -94,19 +94,20 @@ function link
(instance: React.Component
, sources: Sources
): Wr
}
export function connect(mapping: Sources) {
- return function linkComponent(
- ComponentClass: React.ComponentClass,
- ): React.ComponentClass {
- return class AwesomeApp extends React.PureComponent {
- static displayName = `Connected(${ComponentClass.displayName || ComponentClass.name})`
- static defaultProps = ComponentClass.defaultProps
+ return function linkComponent<
+ State,
+ ComponentClass extends React.ComponentClass
+ >(Component: ComponentClass) {
+ return class ConnectedComponent extends React.PureComponent {
+ static displayName = `Connected(${Component.displayName || Component.name})`
+ static defaultProps = Component.defaultProps
- state = {} as ExtraP
- connectedMethods = link(this, mapping) as WrappedMethods
+ state: ExtraP = {} as ExtraP
+ connectedMethods: WrappedMethods = link(this, mapping)
render() {
const props = Object.assign({}, this.props, this.connectedMethods, this.state)
- return React.createElement(ComponentClass, props)
+ return React.createElement(Component, props)
}
}
}