Similoluwa Odeyemi:
En reaccionar nativo, tengo un selector para la selección de valores, Sí / No / Quizás, quiero comprobar si sí / no / quizá. He creado una función como esta, pero si se me acaba la función, a pesar de todo es que sí. El valor de riesgo sigue siendo 1
const [risk, setRisk] = useState(0)
const check = () => {
if(cough === 'Yes'){
setRisk(risk+1)
}
if(fever ==='Yes'){
setRisk(risk+1)
}
if(breathing ==='Yes'){
setRisk(risk+1)
}
if(travel ==='Yes'){
setRisk(risk+1)
}
if(gather ==='Yes'){
setRisk(risk+1)
}
if(contact ==='Yes'){
setRisk(risk+1)
}
if(neighbor ==='Yes'){
setRisk(risk+1)
}
if(hospital ==='Yes'){
setRisk(risk+1)
}
if(neighbor === 'Maybe'){
setRisk(risk+0.5)
}
if(contact === 'Maybe'){
setRisk(risk+0.5)
}
if(gather === 'Maybe'){
setRisk(risk+0.5)
}
if(travel === 'Maybe'){
setRisk(risk+0.5)
}
console.log('risk level is ' + risk)
}
segfault:
Puede que haya un "mejor" forma de hacer esto, pero se puede definir una newRisk
al comienzo de su check()
función y mutar ese valor. A continuación, establezca que en el extremo usando la función de gancho proporcionado.
Ejemplo:
const [risk, setRisk] = useState(0)
const check = () => {
let newRisk = risk;
if(cough === 'Yes'){
newRisk += 1;
}
if(fever ==='Yes'){
newRisk += 1;
}
if(breathing ==='Yes'){
newRisk += 1;
}
if(travel ==='Yes'){
newRisk += 1;
}
if(gather ==='Yes'){
newRisk += 1;
}
if(contact ==='Yes'){
newRisk += 1;
}
if(neighbor ==='Yes'){
newRisk += 1;
}
if(hospital ==='Yes'){
newRisk += 1;
}
if(neighbor === 'Maybe'){
newRisk += 0.5;
}
if(contact === 'Maybe'){
newRisk += 0.5;
}
if(gather === 'Maybe'){
newRisk += 0.5;
}
if(travel === 'Maybe'){
newRisk += 0.5;
}
setRisk(newRisk);
console.log('risk level is ' + newRisk)
}