You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中如何使用三元运算符进行null值检查以避免代码报错?

处理user为null时的属性访问报错

你的原代码:

const myuser = userList.filter(itm => itm.user.Id == Id)
const email = myuser.length > 0 ? myuser[0].user.email : "";

当itm.user为null时,访问itm.user.Id会触发类型错误。用三元运算符做null检查的话,可以这样修改:

// 过滤时先检查user是否存在,再匹配Id
const myuser = userList.filter(itm => itm.user ? itm.user.Id === Id : false);
// 取邮箱时同样先检查user是否存在
const email = myuser.length > 0 ? (myuser[0].user ? myuser[0].user.email : "") : "";

说明:

  • 在filter的回调函数里,通过itm.user ? itm.user.Id === Id : false实现:如果itm.user不为null/undefined,就进行Id匹配;否则直接返回false,这条数据会被过滤掉。
  • 提取邮箱时,再次用三元运算符检查myuser[0].user的存在性,避免即使过滤后仍出现意外null的情况(比如极端场景下数据中途被修改)。

如果项目支持ES2020+,也可以用可选链运算符?.简化写法,但如果必须用三元运算符,上面的代码就能解决问题。

内容的提问来源于stack exchange,提问作者Luci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 20:22:04