【问题标题】:ternery operation returning false everytime - REACT三元运算符每次都返回 false - REACT
【发布时间】:2020-10-19 13:32:48
【问题描述】:

我有一个声明的状态和一个在点击时修改该状态的函数。是这样的。

 const [sdgs, setSdgs] = useState([]);

  const handleClick = (sdg) => {
    if (sdgs.includes(sdg)) {
      const index = sdgs.indexOf(sdg);
      if (index > -1) {
        setSdgs([...sdgs.slice(0, index), ...sdgs.slice(index + 1)]);
      }
    } else {
      setSdgs([...sdgs, sdg]);
    }
  };

当点击图片时会调用它

<img
  src={no_poverty_1}
  alt="No Poverty"
  name="sdg1"
  className={`${style.sdgTileSignUp} mx-2 my-4 ${
   sdgs.indexOf("sdg1") > -1 ? style.selected : null
  }`}
  onClick={() => handleClick("sgd1")}
/>

所以,我想要的是 onClick 我想在图像标签中添加一个“选定”类。但不知何故,每次三元操作返回false

【问题讨论】:

  • handleClick("sgd1") sdgs.indexOf("sdg1")

标签: reactjs react-hooks jsx conditional-operator react-state


【解决方案1】:

最后是一个错字。 sgd 而不是 sdg。 对不起,谢谢!

【讨论】:

    猜你喜欢
    • 2012-12-25
    • 2015-08-21
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 2022-12-14
    • 2016-07-09
    • 2015-01-28
    • 1970-01-01
    相关资源
    最近更新 更多