J'ai actuellement le code suivant dans un certain nombre de modules:répétition Non fonction de gestionnaire dans React JS
handleChange(event) {
const target = event.target;
const value = target.type === 'checkbox' ? target.checked : target.value;
const id = target.id;
this.setState({
[id]: value
});
}
Je suis en train de consolider mon code pour que je ne suis pas me répéter. À l'origine, j'essayais de déplacer ce fichier vers un autre fichier appelé FormHandler.js et de placer ce code dans une classe appelée FormHandler. Je puis importer le gestionnaire comme suit:
Import FormHandler from '.\FormHandler
Je pense que je serais alors en mesure de l'utiliser comme ceci:
<input id="first_name" onChange={FormHandler.handleChange.bind(this)} />
Le principal problème que je suis en train de faire mon esprit est autour de la régler l'état. Actuellement, il essaie de définir l'état dans la classe FormHandler plutôt que le composant dont je l'appelle.
Alors, deux questions:
- Dois-je embêter avec essayer de séparer ce code dans son propre module afin que je ne suis pas me répéter? Après tout, la commande
import
est elle-même un type de répétition. - Si oui, comment l'obtenir pour mettre à jour l'état du composant appelant. Il semble que tout ce que je peux trouver ne fait que provoquer plus de répétitions.