Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用三元运算符根据使用javascript的值将变量设置为true或false?_Javascript_Reactjs - Fatal编程技术网

如何使用三元运算符根据使用javascript的值将变量设置为true或false?

如何使用三元运算符根据使用javascript的值将变量设置为true或false?,javascript,reactjs,Javascript,Reactjs,我想根据javascript中使用三元运算符的条件将变量设置为true或false 下面是我想做的 我正在使用formikBag.values检索“source”的值,如果该值是“source\u 1”我想显示span元素,如果它不是“source\u 1”我不想显示span元素 下面是我的代码 const source = formikBag.values[SOURCE]; const isSource1 = React.useMemo(() => ({ if (source =

我想根据javascript中使用三元运算符的条件将变量设置为
true
false

下面是我想做的

我正在使用
formikBag.values
检索“source”的值,如果该值是
“source\u 1”
我想显示span元素,如果它不是
“source\u 1”
我不想显示span元素

下面是我的代码

const source = formikBag.values[SOURCE];
const isSource1 = React.useMemo(() => ({
    if (source === "source_1") {
        return true;
    } else {
        return false;
    }
}), [source]);

return (
    {isSource1 && 
        <span>source name</span>
    }
);
const source=formikBag.values[source];
const isSource1=React.useMoom(()=>({
如果(源==“源1”){
返回true;
}否则{
返回false;
}
}),[来源];
返回(
{ISource1&&
源名称
}
);

在上面的代码中,我使用了
if
else
,但我想使用三元运算符来做同样的事情。有人能帮我一下吗。

您不需要使用
if-else子句
直接使用您的条件即可

const isSource1 = React.useMemo(() => source === "source_1"), [source]);
而且你也不需要使用
usemo
hook,它在你的情况下没有任何用处,只是增加了一些额外的不必要的工作,直接使用它就可以了

const isSource1 = source === "source_1"


const isSource1=source===“source\u 1”
。您真的需要三元运算符吗?你可以让
返回source==“source_1;”
为什么我觉得这个问题不在问题的层次上?如果是这样,作为一个问题,为什么会在这里汉克斯。但这会引发一个错误“这将始终返回false,因为类型“{source:string;}”和“string”没有重叠。您的
source
变量是对象吗?像这样
{source:string}
?@stackuser如果是,您的第一个检查方法也是错误的。您需要将其更改为:
const isSource1=source.source==”source_1“
当我记录formikBag的值(如so formikBag.values)时,我会看到输出(如{source:“source_1”}),现在只记录源(如so formikBag)。值[source]给出source_1
const isSource1 = React.useMemo(() => ({
   let retValue = (source === "source_1")? true : false
 return retValue 
}), [source]);
 const isSource1 = React.useMemo(() => ({
       return  (source === "source_1")? true : false
    }), [source]);