TypeError: undefined is not an object (evaluating '_this.view._component.measureInWindow')

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeError: undefined is not an object (evaluating '_this.view._component.measureInWindow')相关的知识,希望对你有一定的参考价值。

参考技术A 使用react-navigation库遇到:
TypeError: undefined is not an object (evaluating '_this.view._component.measureInWindow')

找了很久没找到原因,上网查才知道:必须要设置第一个页面默认的navigationOptions = header: null ;

发现如果使用drawer还是报错,继续参考: https://github.com/react-navigation/react-native-safe-area-view/issues/118

亲测,可以了!

消息“d3.js TypeError: n is undefined”(对于具有强制布局的 D3 世界地图)

【中文标题】消息“d3.js TypeError: n is undefined”(对于具有强制布局的 D3 世界地图)【英文标题】:Message "d3.js TypeError: n is undefined" (for D3 world map with force layout) 【发布时间】:2013-11-21 12:22:06 【问题描述】:

我正在试用此站点的代码:http://bl.ocks.org/bycoffe/3230965

我一直有“n 未定义”的错误。

在进一步缩小后,我得出的结论是问题出在以下几行:

(function() 
      var width = 800;
      var height = 700;
      var padding = 10;
      var k;
      var node;

      var pixelLoc = d3.geo.mercator();
      pixelLoc.scale(2000);

      svg = d3.select('#map')
              .append('svg:svg')
              .attr('width', width)
              .attr('height', height);

      d3.json('coordinates.json', function(coordinates) 

        var coords = [];
        var xs = [];
        var ys = []
        for (alias in coordinates) 
          coords.push(coordinates[alias]);
          xs.push(coordinates[alias][0]);
          ys.push(coordinates[alias][1]);
        

        var minX = d3.min(xs);
        var maxX = d3.max(xs);
        var xScale = d3.scale.linear().domain([minX, maxX]).range([-50, -30]);
        var minY = d3.min(ys);
        var maxY = d3.max(ys);
        var yScale = d3.scale.linear().domain([minY, maxY]).range([-20, -10]);

        d3.json('medals.json', function(medals) 

            var pointScale = d3.scale.sqrt().domain([0, 80]).range([0, 75]);

             nodes = []

             for (i=0; i<medals.length; i++)
                node = medals[i];
                node.coordinates = coordinates[node.alias];
                node.cx = xScale(pixelLoc(node.coordinates)[0]);
             

        )

问题出在最后一行:

node.cx = xScale(pixelLoc(node.coordinates)[0]);

但是,我仍然不知道“n 未定义”是什么意思。有人能帮忙吗?

【问题讨论】:

你能创建一个jsfiddle 来显示问题吗?您指向的行中没有n,目前还不清楚可能是什么问题。 好吧,基本上你可以尝试使用我给出的 html 链接中的代码。只需复制并粘贴它并尝试在本地运行它。 n 不是指该行中的代码。它指的是d3.js的javascript文件。 啊,你说的是在本地运行。然后我强烈怀疑您在打开index.html 时没有在本地网络服务器上托管文件medals.json。是这样吗? 我在 Bl.ock 或 Gist 上看不到 Medals.json 文件。你从哪里得到它?此外,您可以在控制台中展开一些错误,这可以为您提供一些关于哪里出了问题的提示。 【参考方案1】:

如果您使用的是 d3.min :

将库从 d3.min.js 更改为 d3.js 你可能会发现错误更改为

TypeError: 数组未定义

这意味着函数 min 和 max 不能正常工作。

    var minX = d3.min(xs);
//Change this for actual min value and max for actual max value and it should work.

【讨论】:

以上是关于TypeError: undefined is not an object (evaluating '_this.view._component.measureInWindow')的主要内容,如果未能解决你的问题,请参考以下文章

TypeError: undefined is not an object (评估'_order.default.addOrder')

为啥当我点击更新按钮时出现错误TypeError: r is undefined?

TypeError: undefined is not a function (in '...styled Components.default.button...')

TypeError: undefined is not a function with React 和 Express

JQUERY DataTable -- TypeError: k is undefined - 使用 MVC 动态形成表

TypeError: undefined is not an object , item is from an array from an API