2017-11-29 5 views
1

のフォームの名前を取得するには、フォームの名前を取得する方法がありますか? 私は実際に私が打ちフォーム名を使用し、貴様のフォームに同じ入力コンポーネントを使用しますが、私はredux-formフィールドコンポーネントの入力

class FormField extends Component { 
    process =() => { 
     nameForm= 'myForm'; // hardcode, i'd like to get the form parent 
     const values = this.props.myState.form[nameForm].values; 

     (...) 
    } 
    render() 
     <input 
      {...myInput} 
      type={typeInput} 
      autoComplete="off" 
      processInput={this.process()} 
     /> 

    } 


class Form extends Component { 

    render() { 

    return (

     <form onSubmit={handleSubmit}> 
     <div className="appBodyTitleSeparator" /> 

     <div className="formSection"> 
      <Field 
      name="customer_id" 
      component={FormField} 
      myState={this.props.myState} 

      /> 
    (...) 
} 

私のフォームは別であるの入力を含むフォームの名前を取得する方法を見つけるしたいと思いますコンポーネントを分けて、私は名前を得るために小道具を使いたくない。

答えて

0

フォームでFieldコンポーネントに渡すことができるフォームコンポーネントのprops.formのようなformNameにアクセスすることができます。

class FormField extends Component { 
    process =() => { 
     const nameForm = this.props.formName 
     const values = this.props.myState.form[nameForm].values; 

     (...) 
    } 
    render() 
     <input 
      {...myInput} 
      type={typeInput} 
      autoComplete="off" 
      processInput={this.process()} 
     /> 

    } 


class Form extends Component { 

    render() { 
    const {form} = this.props; 
    return (

     <form onSubmit={handleSubmit}> 
     <div className="appBodyTitleSeparator" /> 

     <div className="formSection"> 
      <Field 
      name="customer_id" 
      formName={form} 
      component={FormField} 
      myState={this.props.myState} 

      /> 
    (...) 
} 

このexample

+0

私は明確ではなかった申し訳ありませんが、私は私の更新、問題のコードの大部分をコピーしようとした2つのseparetedコンポーネントは、更新された答えをチェック – DDave

+0

持って参照してください。 –

関連する問題