/ Les champs / redux-form sont réinitialisés lors de la modification d'une valeur associée à l'état redux - javascript, reactjs, redux, redux-form

les champs de formulaire redux sont réinitialisés lors de la modification d'une valeur associée à l'état redux - javascript, reactjs, redux, formulaire redux

J'ai "configuré un formulaire redux avec trois champs comme suit:

function mapState(state) {
return {
initialValues: {
terms: state.register.toJS().terms.value
}
};
};

[map dispatch object here]

export const MyFormContainer = reduxForm({
form: "myForm",
fields: ["email", "password", "terms"]
}, mapState, mapDispatch)(MyForm);

Chaque champ répartit les accessoires transmis conformément à la documentation, par exemple. {...email}. La case à cocher des termes contient un onChange qui appelle un actionCreator pour mettre à jour mon état redux:

<input type="checkbox" {...terms} onChange={this.handleTermsToggle.bind(this)}/>

Lorsque vous cliquez sur la case à cocher, les champs email et mot de passe sont réinitialisés, ce qui n'est pas ce que je veux.

Réponses:

0 pour la réponse № 1

Il s’est avéré que j’abordais le problème de lamauvais angle. J'avais besoin de supprimer complètement cette partie de l'arborescence d'état et d'utiliser plutôt {change} de "react-redux" dans mon composant externe pour modifier la valeur.

import { change } from "react-redux"

<button onClick={() => {
this.props.change("myForm", "terms" true);
}}>Click Me</button>

... and don"t forget to map change to mapDispatchToProps