【问题标题】:TypeScript, redux-form and connectTypeScript、redux-form 和连接
【发布时间】:2017-04-04 23:47:07
【问题描述】:

首先,我对 TS、React 和 Redux 非常陌生,如果这是一个明显的问题,我很抱歉。

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

我试图弄清楚如何在组件的导出中同时调用connectredux-form。现在它看起来像这样:

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

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

我在without TS看到的例子是这样的:

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

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

我也尝试过使用 @connect 装饰器,但我无法让它工作(或在网上找到任何工作示例)。

【问题讨论】:

    标签: reactjs typescript react-redux redux-form


    【解决方案1】:

    你能把它们锁起来吗?

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

    【讨论】:

      【解决方案2】:

      不是修复,但可以通过转换为 any 来消除问题

      connect(mapStateToProps, mapDispatchToProps)(MyForm as any)

      【讨论】:

        猜你喜欢
        • 2018-03-10
        • 1970-01-01
        • 2018-03-19
        • 2020-11-03
        • 2020-10-09
        • 2019-01-09
        • 2018-06-25
        • 2018-03-18
        • 1970-01-01
        相关资源
        最近更新 更多