TypeScript, редукс-форма и подключение

Прежде всего, я новичок в TS, React и Redux, поэтому извините, если это очевидный вопрос.

Я пытаюсь изменить этот пример, чтобы получить форму для загрузки некоторой информации. Он использует redux-form.

Я пытаюсь понять, как вызывать connect и redux-form одновременно в экспорте компонента. Прямо сейчас это выглядит так:

class UserForm extends React.Component<IUserProps, void> { .. }

export default ReduxForm.reduxForm({
  form: 'user',
  fields: [
    'userName',
    'password',
    'firstName',
    'lastName',
    'email'
  ],
  validate: UserForm.validate,
})(UserForm);

Примеры, которые я видел без TS, выглядят так:

class MyForm extends Component {}
MyForm = reduxForm(config)(MyForm)
MyForm = connect(mapStateToProps, mapDispatchToProps)(MyForm)
export default MyForm

Но если я пытаюсь сделать то же самое в TS, я получаю ошибку TS2300: повторяющийся идентификатор.

Я также пытался использовать декоратор @connect, но не смог заставить его работать (или найти рабочий пример в Интернете).


person LeoLozes    schedule 21.11.2016    source источник


Ответы (2)


Можете ли вы просто связать их?

class UserForm extends React.Component<IUserProps, void> { .. }

export default connect(mapStateToProps,mapDispatchToProps) 
    (ReduxForm.reduxForm({
  form: 'user',
  fields: [
    'userName',
    'password',
    'firstName',
    'lastName',
    'email'
  ],
  validate: UserForm.validate,
})(UserForm));
person Alejandro C.    schedule 21.11.2016

не исправление, но проблема может быть устранена путем приведения к any

connect(mapStateToProps, mapDispatchToProps)(MyForm as any)

person zowers    schedule 08.11.2017