Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如果其他条件无效,则对UseState作出反应';t集结果_Arrays_Reactjs_If Statement_Setstate_Use State - Fatal编程技术网

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}))

你能试着写完整的句子吗?你说你想简单地问这个问题,然后你去连接没有标点符号的句子。为什么我们这么难解析你的问题?我很抱歉,克里斯蒂安,我有书写困难,所以有时短变得太长。我写的是我认为会导致句子和标点符号重复的句子错误。我试图避免它,但它会发生,尤其是当试图解释我有困难理解的东西。感谢修复它。现在好多了!