Comment définir des champs cachés sous la forme redux dans réagit natif
je ne peux tout simplement pas trouver le moyen de le faire. de l'aide?
j'ai fini par utiliser ceci:
this.props.dispatch(change("FORM_NAME","FIELD_NAME","VALUE"))
après l'exécution de ce code, le formulaire créera le champ s'il n'existe pas
J'ai été confronté au même problème… .. Ce que je fais est de déclarer un champ comme celui-ci et de régler la hauteur à 0… .. C'est un peu hacky mais cela fonctionne dans mon cas.
<Field
component={TextInput}
name="departure_city_name"
type="hidden"
style={{ height: 0 }}
/>
Et je change la valeur comme ceci: this.props.change("departure_city_name", cityData.name);
J'espère que ça aide.
vous n'avez pas besoin d'envoyer une action, il vous suffit d'effectuer cette modification chaque fois que vous avez besoin d'un champ caché sous la forme redux.
this.props.change('Field_name', value)
Tecniquement, vous n’avez pas besoin de créer un champ type = hidden car vous pouvez appeler la fonction change
à partir de vos accessoires de formulaire encapsulés sous Redux. vous voulez définir des valeurs par défaut ou vous assurer que le champ existe toujours; vous devrez donc configurer les valeurs par défaut:
InitializeFromStateForm = reduxForm({
form: 'myForm'
})(InitializeFromStateForm)
InitializeFromStateForm = connect(
state => ({
initialValues: { areYouOk: 'no' }
})
)(InitializeFromStateForm)
export default InitializeFromStateForm
Que vous ayez défini les valeurs initiales ou non, vous pourrez toujours appeler la fonction de modification avec votre nouvelle valeur cachée et cela fonctionnera quand même.
let InitializeFromStateForm = ({ submitHandler, change }) => {
return (
<form onSubmit={submitHandler}>
<button
onClick={() => {
change('areYouOk', 'yes');
}}
label={'Yes'}
/>
</form>
);
}