javascript - 3 条件 - 三元条件链 JavaScript react

所以我只是在玩瑞克和莫蒂 API,我从来没有用 3 个条件做过三元运算。 Mozilla 文档说你可以,但它对我不起作用。下面的代码显示了状态为绿色的字符,其余为紫色。我想活着是绿色,死了是红色,未知是紫色。如果有人好奇的话,我正在使用脉轮用户界面。我做错了什么?

<Badge
  colorScheme={ c.status === "Alive" ? "green"
      : "unknown" ? "purple"
      : "red"
  }
>
  {c.status}
</Badge>

最佳答案

您的符号混淆了。用括号分组,你的代码等同于

c.status === "Alive" ? "green"
      : ("unknown" ? "purple" : "red")

你需要的是

c.status === 'Alive'
  ? 'green'
  : c.status === 'unknown' ? 'purple' : 'red'

或者您可以改用查找表 - 它的可读性更高。

const colorsByStatus = {
  Alive: 'green',
  unknown: 'purple',
  dead: 'red'
};

// ...

colorSceme={colorsByStatus[c.status]}

关于javascript - 3 条件 - 三元条件链 JavaScript react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70553648/

相关文章:

firebase - argumnet 类型 'Null Funcion(DataSnapshot)

powershell - 对 Powershell 脚本中的所有错误调用函数

rust - 错误处理、map_err 和错误类型转换

c++ - 自动占位符类型和显式模板类型在 C++20 中是否等效?

websocket - 将 Nextjs 部署到 Vercel 的 SocketIO,套接字未连接

c++ - 这个 'for' 循环与键盘记录器有什么关系?

c# - 如何将字符串拆分为包含前一个最后一个字符的两个字符的字符串数组?

python - 绕过欧盟同意请求

javascript - 如何在 react 中更改 useState 的对象值?

python - Julia 重新编码未定义