Javascript 如果maybe()函数可用,请添加值
我目前在代码中使用以下maybe()函数来添加数据(如果可用)。我想知道是否有更好的方法来写。它似乎有点长,或者这是写它的最好方式Javascript 如果maybe()函数可用,请添加值,javascript,reactjs,Javascript,Reactjs,我目前在代码中使用以下maybe()函数来添加数据(如果可用)。我想知道是否有更好的方法来写。它似乎有点长,或者这是写它的最好方式 <Formik initialValues={{ firstName: user.firstName, lastName: user.lastName, timezone: user.timezone, email: user.email, headline: maybe(() => user.headline
<Formik
initialValues={{
firstName: user.firstName,
lastName: user.lastName,
timezone: user.timezone,
email: user.email,
headline: maybe(() => user.headline, "") || "",
profilePicture: maybe(() => user.profilePicture, "") || "",
}}
>
[...]
</Formik>;
乍一看,
user.header | |“
可以,但我建议在对象未定义的情况下使用
const用户={
标题:“你好,世界”
}
console.log(未定义?.header | |“默认值”);//违约
console.log(用户?.header | | |“默认值”);//你好,世界
console.log(用户?.doesNotExist | |“默认值”);//违约
console.log(undefined.header | |“default”);//错误
您的意思是user.headline | |'
?如果user.headline
为空或未定义,它将返回默认值'
。
export function maybe(exp, d) {
try {
const result = exp();
return result === undefined ? d : result;
} catch {
return d;
}
}