Javascript 嵌套的ternery条件不工作在useEffect挂钩中
我试图在ReactJS中的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]); 这
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]);