嵌套三元条件在 useEffect 挂钩中不起作用

Nested ternery conditional not woring in useEffect hook

我试图在 ReactJS 的 useEffect 挂钩中使用嵌套的三元条件。 我以前在 useEffect 钩子之外没有问题地做过这个,但由于某种原因它在这里不起作用。

我的工作代码如下所示:

 useEffect(() => {
    if (myState != '') {
      checkbox ? (
        trueFunction()
      ) : (
        falseFunction
        )
    }
  }, [x]);

这按预期工作。 当我尝试使用三元运算符执行此操作时,它不会在内部执行我的任何函数。

 useEffect(() => {
    myState != '' ?? (
      checkbox ? (
        trueFunction()
      ) : (
        falseFunction
        )
    )
  }, [x]);

这一个

useEffect(() => {
    myState != '' && (
      checkbox ? trueFunction() : falseFunction()
    )
  }, [x]);

useEffect(() => {
    myState != '' ? (
      checkbox ? trueFunction() : falseFunction()
    ) : null
  }, [x]);

由于 myState != '' 将始终 return truefalse,您正在使用 Nullish 合并运算符 (??) 不合适,看看文档 => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator