Javascript 嵌套的ternery条件不工作在useEffect挂钩中

Javascript 嵌套的ternery条件不工作在useEffect挂钩中,javascript,reactjs,if-statement,conditional-operator,Javascript,Reactjs,If Statement,Conditional Operator,我试图在ReactJS中的useffecthook中有一个嵌套的三元条件。 我以前做过这个,除了useEffect钩子之外没有任何问题,但是出于某种原因,它在这里不起作用 我的工作代码如下所示: useEffect(() => { if (myState != '') { checkbox ? ( trueFunction() ) : ( falseFunction ) } }, [x]); 这

我试图在ReactJS中的
useffect
hook中有一个嵌套的三元条件。 我以前做过这个,除了useEffect钩子之外没有任何问题,但是出于某种原因,它在这里不起作用

我的工作代码如下所示:

 useEffect(() => {
    if (myState != '') {
      checkbox ? (
        trueFunction()
      ) : (
        falseFunction
        )
    }
  }, [x]);
这正如预期的那样有效。 当我尝试使用三元运算符执行此操作时,它不会执行内部的任何函数

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

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


自<代码>myState!=''起将始终返回
true
false
,您使用的是空合并运算符(??)不合适,请查看文档=>

您使用的是空合并
而不是三元运算符
useEffect(() => {
    myState != '' ? (
      checkbox ? trueFunction() : falseFunction()
    ) : null
  }, [x]);