嵌套三元条件在 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 true
或 false
,您正在使用 Nullish 合并运算符 (??) 不合适,看看文档 => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator
我试图在 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 true
或 false
,您正在使用 Nullish 合并运算符 (??) 不合适,看看文档 => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator