Zoeken op website

reactjs - react-i18next react-redux en TypeScript


Dus... ik moet een redux connect doen van een i18n vertaald component met TypeScript. Het probleem is dat de types helemaal gek worden!

interface Props extends InjectedTranslateProps {
  page: number;
}

interface StoreData {
  count: number;
}

const BookComponent = ({ page, count }: Props & StoreData) => {
...
}


const translatedComponent = translate(['books'])(BookComponent );

function mapStateToProps(state: Store): StoreData {
  return {
    count: state.count
  };
}

export default connect<StoreData, void, Props>(mapStateToProps)(translatedComponent);

Het wil helemaal niet werken en ik krijg deze fout:

Argument of type 'ComponentClass<Pick<Props & InjectedTranslateProps, "page"> & TranslateHocProps>' is not assignable to parameter of type 'ComponentType<StoreData & DispatchProp<any> & Props>'.

Type 'ComponentClass<Pick<Props & InjectedTranslateProps, "page"> & TranslateHocProps>' is not assignable to type 'StatelessComponent<StoreData & DispatchProp<any> & Props>'.

Type 'ComponentClass<Pick<Props & InjectedTranslateProps, "page"> & TranslateHocProps>' provides no match for the signature '(props: StoreData & DispatchProp<any> & Props & { children?: ReactNode; }, context?: any): ReactElement<any> | null'.

const translatedForm: React.ComponentClass<Pick<Props & InjectedTranslateProps, "page"> & TranslateHocProps>

Maar als ik Props naar any verander, verdwijnt het probleem.

export default connect<StoreData, void, any>(mapStateToProps)(translatedComponent);