如何使用三元运算符根据使用javascript的值将变量设置为true或false?
我想根据javascript中使用三元运算符的条件将变量设置为如何使用三元运算符根据使用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 =
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]);