web-dev-qa-db-ja.com

リアクティブネイティブでredux形式の非表示フィールドを設定するにはどうすればよいですか?

反応ネイティブでredux形式の隠しフィールドを設定するにはどうすればよいですか?

どうすればいいのかわからない。何か助け?

11
Roy CL

私はこれを使い終わった:

this.props.dispatch(change("FORM_NAME","FIELD_NAME","VALUE")) 

このコードが実行された後、フォームが存在しない場合、フォームはフィールドを作成します

10
Roy CL

私は同じ問題に直面しました。私が行うことは、このようにフィールドを宣言し、高さを0に設定することです。これは少しハッキーですが、私の場合は機能します。

_<Field
    component={TextInput}
    name="departure_city_name"
    type="hidden"
    style={{ height: 0 }}
/>
_

そして、私はこのように値を変更します:this.props.change("departure_city_name", cityData.name);

それが役に立てば幸い。

5
rmkpatchaa

redux形式の非表示フィールドが必要な場合は、この変更を実行するだけで、アクションをディスパッチする必要はありません。

this.props.change('Field_name', value)

2
Sumit Kumar

技術的には、type = hiddenフィールドを作成する必要はありません。フィールドが存在しない場合、変更したい 'hidden'フィールドに対してchange関数を呼び出すことができるためです。Redux-formはそれを実際のフィールドのようなフォームの状態

MyForm = reduxForm({
  form: 'myForm'
})(MyForm)

MyForm = connect(
  state => ({
    initialValues: { areYouOk: 'no' }
  })
)(MyForm)

export default MyForm

初期値を設定したかどうかに関係なく、常に新しい非表示の値で変更関数を呼び出すことができ、それはとにかく機能します

  let MyForm = ({ submitHandler, change }) => {
    return (
      <form onSubmit={submitHandler}>
        <button
         onClick={() => {
           change('areYouOk', 'yes');
         }}
         label={'Yes'}
        />
      </form>
    );
  }
2
gsalgadotoledo