2017-04-13 23 views
1

私はこの問題があり解決できません。ここで React、Reux Redux、Reduxフォームタイプが無効

は私のコードです:

import React from 'react'; 
import {withRouter} from 'react-router-dom'; 
import {Field, reduxForm} from 'redux-form'; 
import {connect} from 'react-redux'; 

import {RenderField} from 'modules/shared/components/RenderField'; 


class Register extends React.Component { 
    handleFormSubmit(data){ 
     console.log(data); 
    } 
    render() { 
     const {handleSubmit} = this.props; 
     return (
      <div className="form-popup"> 
       <div className="form-popup-content"> 
        <h4 className="popup-title">Daftar Baru</h4> 

        <hr className="line-separator"/> 

        <form id="register-form" name="registerForm" method="POST" onSubmit={handleSubmit(this.handleFormSubmit.bind(this))}> 

         <Field name="name" type="text" component={RenderField} label="Name"/> 

         <button type="submit" id="register-button" className="button mid dark ladda-button" 
           data-style="expand-right"> 
          Register 
         </button> 
        </form> 
       </div> 
      </div> 
     ); 
    } 
} 

function mapStateToProps(state){ 
    return state; 
} 

Register = reduxForm({ 
    form: 'registerForm', 
})(Register); 
export default withRouter(connect(mapStateToProps, null))(Register); 

コンパイルし、私はこのエラーを得た:

Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object.

任意のソリューションを?

答えて

2

(Register)は、connect()の後にする必要があります。

export default withRouter(connect(mapStateToProps, null)(Register)); 
+0

OMGに変更

export default withRouter(connect(mapStateToProps, null))(Register); 

!愚かな私はそれを実現していない!ありがとうございました!痛みのおかげで女王:D – ssuhat

+0

あなたは大歓迎です! StackOverflowにDotaのプレーヤーがいることを嬉しい – QoP