Ceci est le point de départ de mon erreur:Appliquer opération mathématique en temps réel à dire dans React, provoquer des changements dans la production/État/dom
Ce que je suis en train de faire est de prendre simplement ce nombre et effectuer l'opération mathématique de multiplication sur elle - dans ce cas, en le multipliant par 0.2
- cependant - mon programme contient un bogue odieux qui - plutôt que d'effectuer cette opération - ajoute simplement 20
à la chaîne dans la zone de texte, comme vous pouvez voir ici:
C'est le code que j'essaie d'utiliser pour appliquer la logique opératoire, pour moi, cela semble parfaitement raisonnable - même si je ne suis pas un expert de classe mondiale en JavaScript, ni React. Y a-t-il quelque chose qui cloche de façon flagrante dans l'extrait de code suivant?
addLogicToEquation(newLogic) {
let equation = this.state.equation
if(newLogic==="10%"){
let newEquation = equation + (equation * 0.10)
this.setState({equation: newEquation})
}
if (newLogic==="15%"){
let newEquation = equation + (equation * 0.15)
this.setState({equation: newEquation})
}
if (newLogic==="20%"){
let newEquation = equation + (equation * 0.20)
this.setState({equation: newEquation})
}
else{
// we're adding more numbers
let newEquation = equation + newLogic
this.setState({equation: newEquation})
}
}
Peut-être cet extrait est raisonnable, et le défaut est ailleurs dans mon PROGRAM- Je suis vraiment même pas sûr où commencer à chercher, la complete codebase se trouvent ici, il n'y a pas vraiment très voluminous- quelque chose sur le ordre de 10 fichiers ou plus.
Essayez 'nous newEquation = Nombre (équation) + (Nombre (équation) * 0.20); 'Je soupçonne que l'équation est une chaîne et non un nombre de type. Si cela fonctionne je peux l'expliquer mieux comme réponse! – kyle
essayé que- n'a pas werk –
Quelle est la valeur de newEquation après l'exécution de mes codes? Vous pouvez le vérifier simplement par 'console.log (newEquation);'.Si vous pouvez le fournir dans un jsbin qui serait extrêmement utile. – kyle