2016-11-21 60 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)

沉默