У меня есть следующее:
'use strict';
import {AppDispatch} from '../cp';
import {RootState} from '../reducers/root';
import {OwnProps} from '../components/example/better-example';
export function mapDispatch(dispatch: AppDispatch<any>) {
return {dispatch};
}
export function mapState(state: RootState) {
return {state};
}
export const mergeProps = <OwnProps>(
propsFromState: StateProps,
propsFromDispatch: DispatchProps,
propsFromParent: OwnProps
) => {
return {
dispatch: propsFromDispatch.dispatch,
s: propsFromState.state,
o: propsFromParent
};
};
export type MergeProps<OwnProps> = ReturnType<typeof mergeProps>;
export type StateProps = ReturnType<typeof mapState>;
export type DispatchProps = ReturnType<typeof mapDispatch>;
проблема в том, что я не знаю, как распространить тип <OwnProps>
до функции ReturnType
из mergeProps
, которая передается connect()
вроде так:
export default connect<StateProps, DispatchProps, OwnProps, MergeProps<OwnProps>>(
mapState as any,
mapDispatch,
mergeProps /// passed here
)(MyComponent);