【问题标题】:Conditional statement not working in useEffect条件语句在 useEffect 中不起作用
【发布时间】:2022-07-23 03:06:21
【问题描述】:

条件语句似乎不适用于 useEffect。 'UserPortInfo' 为 1,但为什么将 'templateCss' 应用为 'first-theme'?为什么控制台会工作多次?

  const [templateCss, setTemplateCss] = useState('');

  useEffect(() => {
    getUserInfo();
    getPortfolio();
    getPortInfo();
    userPortInfo == 1
      ? setTemplateCss('second-theme')
      : setTemplateCss('first-theme');
  }, []);

  console.log(userPortInfo);
  console.log(templateCss);

【问题讨论】:

  • 你能显示 userPortInfo 的定义位置吗?
  • getPortInfo 是 ajax 并且到达条件语句时没有完成加载?

标签: javascript reactjs


【解决方案1】:

而不是这个

userPortInfo == 1
      ? setTemplateCss('second-theme')
      : setTemplateCss('first-theme'); 

尝试使用这种方式

 userPortInfo === 1
      ? setTemplateCss('second-theme')
      : setTemplateCss('first-theme');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2011-12-04
    • 2012-08-15
    • 1970-01-01
    相关资源
    最近更新 更多