【发布时间】:2020-12-18 08:14:10
【问题描述】:
好的,所以试着想出最简单的方法来问这个问题。
首先,代码不是最漂亮的。这是我在 React 中所做的第三件事,我是在一周前开始的,可能在两个多月前开始编写代码。
我正在制作一个接收数据的表格,对于简单的 COVID:firstName, lastName, email, and risklevel。
风险等级由回答为“是”的问题数决定;在 if-else-statements 中也为真。
计数工作正常 - 它根据回答正确的问题记录正确的数字。表格信息有效;唯一的问题是,这不会采用我的risklevel 状态并根据三个条件应用它:
function ModalPopUp() {
const [show, setShow] = useState(false);
const handleClose = () => setShow(false);
const handleShow = () => setShow(true);
const [FirstName, setFirstName] = useState('');
const [LastName, setLastName] = useState('');
const [email, setEmail] = useState('');
const [riskLevel, setRiskLevel] = useState(0);
const [dryCough, setDryCough] = useState(null);
const [sob, setSob] = useState(null);
const [Aches, setAches] = useState(null);
const [soreThroat, setSoreThroat] = useState(null);
const [headache, setHeadache] = useState(null);
const [fatigue, setFatigue] = useState(null);
const [exposure, setExposure] = useState(null);
// const [age, setAge] = useState(0)
// const [count, setCount] = useState(0)
// const [patients, SetPatients] = useState([]);
const riskState = () => {
let count = 0;
if(dryCough === true) {
count++
}
if(sob === true) {
count++
}
if(Aches === true) {
count++
}
if(soreThroat === true) {
count++
}
if(headache === true) {
count++
}
if(fatigue === true) {
count++
}
if(exposure === true) {
count++
}
if (count <= 2) {
setRiskLevel({riskLevel: riskLevel + 1})
}
if (count > 2 && count <= 4) {
setRiskLevel({riskLevel: riskLevel + 2})
}
if (count > 4) {
setRiskLevel({riskLevel: riskLevel + 3})
}
console.log(dryCough);
console.log(count);
console.log(riskLevel)
}
【问题讨论】:
-
你能试着写完整的句子吗?你说你想简单地问这个,然后你去连接没有标点符号的句子。为什么让我们难以解析您的问题?
-
我很抱歉,克里斯蒂安,我有书写障碍,所以有时短会变得太长。我写的我认为会导致连续的句子和标点错误。我尽量避免这种情况,但尤其是在试图解释我无法理解的事情时。
-
感谢您修复它。现在好多了!
标签: arrays reactjs if-statement setstate use-state