2016-11-21 21 views
4

首先,我对TS非常陌生,React & Redux,很抱歉如果这是一个明显的问题。TypeScript,redux-form和连接

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

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

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

但是,如果我尝试做相同的TS我得到的TS2300错误:重复的标识

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这个样子的例子。

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

回答

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

不是一个解决方法,但问题可以通过铸造any

connect(mapStateToProps, mapDispatchToProps)(MyForm as any)

沉默