TypeError:null不是对象(评估' data [sub_props [i]]')

时间:2017-11-03 07:35:39

标签: android react-native

我正在构建一个react native应用程序并且遇到了这个错误。我检查了日志,发现数据[sub_props [i]]导致了以下问题:

"var": function _var(a, b) {
  var not_found = b === undefined ? null : b;
  var sub_props = String(a).split(".");
  var data = this;
  for (var i = 0; i < sub_props.length; i++) {
    data = data[sub_props[i]];
    if (data === undefined) {
      return not_found;
    }
  }
  return data;
},

我无法理解造成此错误的原因是什么。任何帮助表示赞赏。谢谢。我在android平台上构建它。

react-native-cli:2.0.1 反应原生:0.46.4

1 个答案:

答案 0 :(得分:0)

此行基本上会销毁data数组并将其分配给单个值(可能是null),并且将来的迭代会尝试迭代不可迭代或null对象。

data = data[sub_props[i]];

最好创建一个新变量来分配data[sub_props[i]],如temp

var data = this;
var temp;
for (var i = 0; i < sub_props.length; i++) {
   temp= data[sub_props[i]];
   if (temp=== undefined) {
      return not_found;
   }
 }
 return temp;