Javascript 如何在react js中使用条件运算符
在许多地方,我设置修改人、创建人等:Javascript 如何在react js中使用条件运算符,javascript,reactjs,Javascript,Reactjs,在许多地方,我设置修改人、创建人等: const test = this.state.isValueEdited ? { modifiedById: getLoggedInUser().userId, } : { // TODO }; 如何检查getLoggedInUser是否比access.userId有一些值。。否则,让我们设置null 谢谢 欢呼同时使用三元运算符 modifiedById: getLoggedInUser() ? getLoggedInUser().userId
const test = this.state.isValueEdited
? {
modifiedById: getLoggedInUser().userId,
}
: {
// TODO
};
如何检查getLoggedInUser
是否比access.userId
有一些值。。否则,让我们设置null
谢谢
欢呼同时使用
三元运算符
modifiedById: getLoggedInUser() ? getLoggedInUser().userId : null
避免执行两次
const evaluation = getLoggedInUser()
{modifiedById: evaluation ? evaluation.userId : null}
您可以使用逻辑或
|
modifiedById: ( getLoggedInUser() || { userId: null } ).userId
当从getLoggedInUser返回的值返回falsy值时,{userId:null}
将作为默认值
如果getLoggedUser返回的值不符合条件,则该值应为falsy值您可以首先检索用户,然后仅当
用户
返回truthy时,才可以使用和&
运算符获取用户ID
<代码>假,空
,未定义
,”
,0,NaN
都是假值
const user = getLoggedInUser() || null;
const test = this.state.isValueEdited ? ({
modifiedById: user && user.userId,
}) : ...
如果当用户未登录时,
getLoggedInUser
已经返回null
,您可以省略|null
您可以解释这一行吗请getLoggedInUser()|{userId:null}
这意味着即使userId为null,也要尝试访问它吗?还是?太好了!虽然不是这种语法的最大粉丝,但它肯定会得到这份工作done@Roxy'Pro当从getLoggedInUser
返回的值为falsy时,只有{userId:null}
将进入图片、逻辑或从左侧开始计算表达式,并在找到真值后停止,如果没有一个值为true,它将返回表达式中的最后一个值,因此在这里的getLoggedInUser
中返回的值为false,而不仅仅是{userId:null}
将被使用,否则从函数返回的值将被使用down voter care to comment:/This将调用getLoggedInUser()
两次。这是低效的&可能会导致不必要的sife效应。