TypeScript,redux-form和connect

时间:2016-11-21 14:31:40

标签: reactjs typescript react-redux redux-form

首先,我对TS,React& amp; Redux,很抱歉,如果这是一个显而易见的问题。

我正在尝试修改this example以获取表单来加载一些信息。它正在使用redux-form

我正在尝试弄清楚如何在导出组件的同时调用$('.element').show("slide", { direction: "right" }, 1000); connect。现在它看起来像这样:

redux-form

我见过without TS的例子如下:

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

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

但如果我尝试在TS中执行相同的操作,我会收到TS2300错误:重复的标识符。

我也尝试使用class MyForm extends Component {} MyForm = reduxForm(config)(MyForm) MyForm = connect(mapStateToProps, mapDispatchToProps)(MyForm) export default MyForm 装饰器,但我无法使其工作(或在网上找到任何有效的例子)。

2 个答案:

答案 0 :(得分:3)

你能把它们连在一起吗?

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));

答案 1 :(得分:2)

不是解决方法,但可以通过转换为any

来解决问题

connect(mapStateToProps, mapDispatchToProps)(MyForm as any)