我得到TS2300: Duplicate identifier 'UIBuilderForm'.
例外。
我试图在UIBuilderForm
在使用ES6的打字稿上使用此语法的正确方法是什么?
class UIBuilderForm extends React.Component<any, {}> {
...
}
let UIBuilderForm :any = reduxForm({
form: FORM_NAME
})(UIBuilderForm as any);
const selector = formValueSelector(FORM_NAME) //
let UIBuilderForm = connect(
formStates
)(UIBuilderForm)
??? UIBuilderForm = connect(
mapStateToProps,
mapDispatchToProps
)(UIBuilderForm)
export default UIBuilderForm
答案 0 :(得分:1)
对于相同的变量名,您有两个let
和一个class
声明,这是不允许的。选择不同的名称,或省略let
s:
class UIBuilderForm extends React.Component<any, {}> {
...
}
UIBuilderForm = reduxForm({
form: FORM_NAME
})(UIBuilderForm);
const selector = formValueSelector(FORM_NAME) //
UIBuilderForm = connect(
formStates
)(UIBuilderForm)
UIBuilderForm = connect(
mapStateToProps,
mapDispatchToProps
)(UIBuilderForm)
export default UIBuilderForm;
或者只是把所有东西放在一个大表达中:
const selector = formValueSelector(FORM_NAME);
export default connect(
mapStateToProps,
mapDispatchToProps
)(connect(
formStates
)(reduxForm({
form: FORM_NAME
})(class UIBuilderForm extends React.Component<any, {}> {
...
})));