TypeScript、redux-form 和 connect

IT技术 reactjs typescript react-redux redux-form
2021-05-20 08:08:38

首先,我对 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装饰器,但我无法让它工作(或在网上找到任何工作示例)。

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

不是修复,但问题可以通过强制转换为 any

connect(mapStateToProps, mapDispatchToProps)(MyForm as any)