Arrays 如果其他条件无效,则对UseState作出反应';t集结果
好的,试着想出最简单的方法来问这个问题Arrays 如果其他条件无效,则对UseState作出反应';t集结果,arrays,reactjs,if-statement,setstate,use-state,Arrays,Reactjs,If Statement,Setstate,Use State,好的,试着想出最简单的方法来问这个问题 首先,代码不是最漂亮的。这是我在react中做的第三件事,我一周前就开始做了,大概两个多月前就开始编码了 我正在制作一个表格,用于获取数据,对于新冠病毒来说很简单:firstName、lastName、email和risklevel 风险水平由回答“是”的问题数量决定;如果else语句为true 计数工作正常-它根据回答的问题的正确数量记录正确的数字。信息工程的形式;唯一的问题是,这不会使我的risklevel状态基于以下三个条件应用它: function
首先,代码不是最漂亮的。这是我在react中做的第三件事,我一周前就开始做了,大概两个多月前就开始编码了 我正在制作一个表格,用于获取数据,对于新冠病毒来说很简单:
firstName、lastName、email和risklevel
风险水平由回答“是”的问题数量决定;如果else语句为true 计数工作正常-它根据回答的问题的正确数量记录正确的数字。信息工程的形式;唯一的问题是,这不会使我的
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)
}
函数modalpoup(){
const[show,setShow]=useState(false);
const handleClose=()=>setShow(false);
常量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(空);
const[Aches,setAches]=useState(null);
const[soreThroat,setsorehoust]=useState(null);
常量[头痛,设置头痛]=useState(null);
常量[疲劳,设置疲劳]=使用状态(空);
const[exposure,setExposure]=useState(null);
//const[age,setAge]=useState(0)
//const[count,setCount]=useState(0)
//const[patients,SetPatients]=useState([]);
常量风险状态=()=>{
让计数=0;
如果(干咳===真){
计数++
}
如果(sob==真){
计数++
}
如果(Aches==真){
计数++
}
if(soreThroat===true){
计数++
}
如果(头痛===真){
计数++
}
如果(疲劳===真){
计数++
}
如果(曝光===真){
计数++
}
如果(计数2和计数4){
setRiskLevel({riskLevel:riskLevel+3})
}
控制台日志(干咳);
控制台日志(计数);
控制台日志(风险级别)
}
很可能riskLevel是闭包捕获的过时值。请尝试改用回调语法
setRiskLevel(riskLevel => ({riskLevel: riskLevel + 1}))
你能试着写完整的句子吗?你说你想简单地问这个问题,然后你去连接没有标点符号的句子。为什么我们这么难解析你的问题?我很抱歉,克里斯蒂安,我有书写困难,所以有时短变得太长。我写的是我认为会导致句子和标点符号重复的句子错误。我试图避免它,但它会发生,尤其是当试图解释我有困难理解的东西。感谢修复它。现在好多了!