2017-02-21 20 views
1

私はredux-formを使用しています。initializeメソッドとcomponentDidUpdate()メソッドを追加した後で、入力の中に入力できません。自分のメールアドレスに入力しようとすると、文字は表示されません。私はすべての入力が制御されていると推測していますか?もしそうなら、私はそれをどのように扱いますか?フィールドに入力できないのはなぜですか?

import { reduxForm, Field, initialize } from 'redux-form'; 

const CustomComponent = function(field) { 
      return(
       <div> 
        <input { ...field.input } type={field.type} placeholder={field.placeholder} /> 
       </div> 
      ); 
     } 

//class instantiation 

componentDidUpdate(){ 
    this.handleInitialize(); 
} 

handleInitialize() { 
    const initData = { 
     "name": this.props.name 
    }; 
    this.props.initialize(initData); 
} 



render() { 
    const { handleSubmit } = this.props; 


    return (
     <div> 
      <form onSubmit={handleSubmit(this.onSubmit)}> 
       <div> 
        <Field name="name" component={CustomComponent} type="text" placeholder="Name" /> 
        <Field name="email" component={CustomComponent} type="email" placeholder="Email" /> 
       </div> 
       <button type="submit">Submit</button> 
      </form> 
     </div> 
    ); 
} 
+0

CustomComponentにdivラッパーなしの入力を返そうとしましたか? – Andrew

+0

それは動作しません。同じ問題 – joethemow

+0

@マークフィッツジェラルドあなたが投稿した質問への回答は、私がすでに質問を投稿する前にそれを実装しているので適用されません。 – joethemow

答えて

0

CustomComponentrender()メソッド内に定義することはできません。最初に入力を開始すると、コンポーネントのフォーカスが失われます。

Redux設定でレデューサーを正しく設定しましたか?

+0

CustomComponentを自分のクラスの外に移動しましたが、自分のフィールドにはまだ入力できません。 – joethemow

+0

私はcomponentDidUpdateの内部にログインし、フィールドに何かを入力しようとするたびに呼び出されていることに気付きました。私はこれが問題だと確信しています。 – joethemow

関連する問題