[英]Conditionally render property object value?
I have this example function below:我在下面有这个示例函数:
const HelloWorld = (person, message) => {
const { sender, message } = message
const greeting = {
to: person
message: `Hi, ${sender} greets you. ${message}`
};
return sendMessage(greeting)
}
It works perfectly fine however message shows null
if there's no value.它工作得很好,但是如果没有值,则消息显示为
null
。 How can I conditionally render values.如何有条件地呈现值。
{message === null :
Hi, ${sender} greets you.
{message === null :
Hi, ${sender} greets you.
: Hi, ${sender} greets you. He said ${message}
:
Hi, ${sender} greets you. He said ${message}
Hi, ${sender} greets you. He said ${message}
} Hi, ${sender} greets you. He said ${message}
}
const HelloWorld = (person, message) => { const { sender, msg } = message const greeting = { to: person, message: `Hi, ${sender} greets you.${msg ? 'He said '+ msg : ''}` }; return greeting; // return sendMessage(greeting); } console.log(HelloWorld('Jack', { sender: "Joe", msg: "Test MSG" })); console.log(HelloWorld('Jack', { sender: "Joe", msg: "" }));
You can simply use a ternary inside the string interpolation.您可以简单地在字符串插值中使用三元。
You can use the ternary operator inside the template string, also note template strings can be nested:您可以在模板字符串中使用三元运算符,还要注意模板字符串可以嵌套:
const HelloWorld = (person, msg) => { const { sender, message } = msg; const greeting = { to: person, message: `Hi, ${sender} greets you.${message ? ` He said ${message}`: ""}` }; return greeting } console.log(HelloWorld("John Doe", {sender: "Jane Doe", message: null})); console.log(HelloWorld("John Doe", {sender: "Jane Doe", message: "Howdy"}));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.