繁体   English   中英

有条件地呈现属性对象值?

[英]Conditionally render property object value?

我在下面有这个示例函数:

const HelloWorld = (person, message) => {
      const { sender, message } = message
      const greeting = {
          to: person
          message: `Hi, ${sender} greets you. ${message}`
      };
      return sendMessage(greeting)
}

它工作得很好,但是如果没有值,则消息显示为null 如何有条件地呈现值。 {message === null : Hi, ${sender} greets you. 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: "" }));

您可以简单地在字符串插值中使用三元。

您可以在模板字符串中使用三元运算符,还要注意模板字符串可以嵌套:

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM