2016-11-21 5 views
4

Zunächst einmal, ich bin sehr neu zu TS, reagieren & Redux, so leid, wenn das eine offensichtliche Frage ist.TypeScript, Redux-Form und verbinden

Ich versuche, this example zu ändern, um ein Formular zum Laden einiger Informationen zu erhalten. Es verwendet redux-form.

Ich versuche herauszufinden, wie connect und redux-form gleichzeitig im Export der Komponente aufrufen. Im Moment sieht es wie folgt aus:

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

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

Die Beispiele, die ich habe without TS sieht wie folgt aus gesehen:

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

Aber wenn ich versuche, das gleiche in TS zu tun, erhalte ich die TS2300-Fehler: doppelte Kennung .

Ich habe auch versucht, den @connect Dekorateur zu verwenden, aber ich konnte es nicht funktionieren lassen (oder irgendein Arbeitsbeispiel online finden).

Antwort

3

Können Sie sie einfach verketten?

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

keine fix, aber Problem kann durch Gießen zu any

connect(mapStateToProps, mapDispatchToProps)(MyForm as any)

zum Schweigen gebracht werden