码迷,mamicode.com
首页 > 其他好文 > 详细

TypeError: ### is null,空指针导致的报错

时间:2020-04-22 13:35:12      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:分享   key   前端   bug   其他   osi   custom   name   code   

开发中你无法保证后台给你的数据是不是有值的,所有前端应该抱着对后台不信任的原则,做好安全防控,不然很容易出bug报错。
比如

 data.closingCustomDateType = {
       key:
           data.closingCustomDateType &&
           data.closingCustomDateType.id || 1,
      label:
           data.closingCustomDateType &&
           data.closingCustomDateType.name || ‘请选择时间‘,
      value:
           data.closingCustomDateType &&
           data.closingCustomDateType.id || 1,
};

如果data是null或者underfind的时候就报错了,那我们如何来防止这样没必要的错误呢
方法一:

data.closingCustomDateType = {
      key:
          data &&
          data.closingCustomDateType &&
          data.closingCustomDateType.id || 1,
      label:
           data &&
           data.closingCustomDateType &&
           data.closingCustomDateType.name || ‘请选择时间‘,
      value:
           data &&
           data.closingCustomDateType &&
           data.closingCustomDateType.id || 1,
};

方法二(需要babel7支持):

data.closingCustomDateType = {
      key:data?.closingCustomDateType?.id || 1,
      label:data?.closingCustomDateType?.name || ‘请选择时间‘,
      value:data?.closingCustomDateType?.id || 1,
};

好了,要是有其他的方法,欢迎留言分享

TypeError: ### is null,空指针导致的报错

标签:分享   key   前端   bug   其他   osi   custom   name   code   

原文地址:https://www.cnblogs.com/qianyy/p/12751120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!