2016-10-25 8 views
0

ReactアプリケーションにReduxを追加したところ、コンソール。"警告:失敗したpropType: 'ReduxForm(MyForm)'に必須のprop 'fields'が指定されていません"

Warning: Failed propType: Required prop 'fields' was not specified in 'ReduxForm(MyForm)'. Check the render method of 'Connect(ReduxForm(MyForm))'.

と、この:

この

Uncaught TypeError: Cannot read property 'reduce' of undefined

第二は、この(2行目)を指し

var getValues = function getValues(fields, state) { 
    return fields.reduce(function (accumulator, field) { 
    getValue(field, state, accumulator); 
    return accumulator; 
    }, {}); 
}; 

Upadte /回答: ていることを確認してくださいReduxの - 形式はバージョン6以上

+0

フォームに小道具としてフィールドを渡していますか? – jacoballenwood

+1

'@reduxForm({ 形式: 'some-id'、 フィールド:['one'、 'two'] })のフォームで使用するフィールドを定義する必要があります。 – elmeister

+0

もっとコードが必要です。 –

答えて

0

人に魚を教える!

あなたは実際に十分なコードを与えていません。

フィールドが予期せず定義されていない場合は、Chromeのデバッガまたはconsole.logをどこからでも実行する必要があります。これらは非常に過小評価されたメソッドです!

  1. ブラウザでF12キーを押します。
  2. 開発者ツールの[スクリプト]または[ソース]タブを選択します。
  3. コントロール+ pを押して、探しているファイルのパスに入力します。 (またはあなたのファイルを見つけるために、トップレベルではほとんどのフォルダのアイコンを位置しています。)
  4. 左側の行番号をクリックしてブレークポイントを追加します( 小さな青いマーカーが追加されます)
  5. あなたのJavaScriptを実行します。

コードはブレークポイントで停止するまで実行され、そこから先に進むことができます。すべての行をチェックする必要がある場合は、ステップバイステップの前にすべての行にブレークポイントを追加します。変数を右クリックすると、ウォッチリストに追加することができます。

論理が誤っているか、未定義/ヌルか、バグが見つかるまで続けてください。ブレークポイントでコードが一時停止している間は、コンソールからいつでもconsole.log()を実行でき、スコープ内の変数に対して正しくログすることに注意してください。

関連する問題