2016-08-31 12 views
1

Reduxフォームの「フィールド」コンポーネントを使用する際に問題があります。単純にredux形式のウェブサイトの例に従ってください。reduxフォーム、フィールドコンポーネントの問題

/* MyForm.jsx */ 
... 
import { Field, reduxForm } from 'redux-form'; 

class MyForm extends Component { 
    ... 
    <form onSubmit={handleSubmit(...)}> 
     <div> 
      <label>First Name</label> 
      <div> 
       <Field name="firstName" component="input" type="text" placeholder="First Name"/> 
      </div> 
     </div> 
     ... 
} 

export default reduxForm({ 
    form: 'myForm' 
})(MyForm); 

ここでreduxフォームを使用する親コンポーネントです。

/* page.jsx */ 
import MyForm from './MyForm'; 
... 
<MyForm/> 
... 

フォームがレンダリングされませんし、コンソールにエラーが言う:

React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components).

Uncaught Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.

をしかし、私は材料-UIまたはブートストラップフォームフィールドを使用している場合、それはうまく動作します。

私は、フォームの減速が以前の形式のレンダリングマウント:

import {reducer as formReducer} from 'redux-form'; 
const myReducer = combineReducers({ 
    ... 
    form: formReducer 
}); 

フィールド・コンポーネントが動作しない理由を任意のアイデア?

ありがとう、

+0

あなたはどのバージョンのreduxフォームを使用していますか? –

+0

私は^ 5.3.2 –

+0

を使用していますが、v 6.0にアップグレードしようとしましたか? –

答えて

1

reduxを6.0にアップグレードしてください。フィールドコンポーネントはv6.0から始まりました。

+0

はい、6.0.1にアップグレードすると、フィールドエラーが解決されました。ただし、6.0.1では、フォームフィールドの書式がArrayからObjectに変更されました。私の現在のフィールドの正しいフォーマットは何でしょうか?フォームフィールド= [ 'FIRSTNAME'、 '姓'、 'パスワード' ] –

+0

フォームフィールド= {[ 'FIRSTNAME'、 '姓'、 'パスワード']} –

+0

私はここでは例を見ます。http:// redux- form.com/6.0.1/docs/api/Fields.md/しかし、ドキュメントや使用例は見当たりませんでした。ありがとう、 –

関連する問題