反応ネイティブでredux形式の隠しフィールドを設定するにはどうすればよいですか?
どうすればいいのかわからない。何か助け?
私はこれを使い終わった:
this.props.dispatch(change("FORM_NAME","FIELD_NAME","VALUE"))
このコードが実行された後、フォームが存在しない場合、フォームはフィールドを作成します
私は同じ問題に直面しました。私が行うことは、このようにフィールドを宣言し、高さを0に設定することです。これは少しハッキーですが、私の場合は機能します。
_<Field
component={TextInput}
name="departure_city_name"
type="hidden"
style={{ height: 0 }}
/>
_
そして、私はこのように値を変更します:this.props.change("departure_city_name", cityData.name);
それが役に立てば幸い。
redux形式の非表示フィールドが必要な場合は、この変更を実行するだけで、アクションをディスパッチする必要はありません。
this.props.change('Field_name', value)
技術的には、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>
);
}