小编jar*_*moe的帖子

如何使用window.onerror捕获所有javascript错误?(包括道场)

这个问题是javascript的后续问题:如何在弹出警报中显示脚本错误?在哪里解释了如何使用以下方法捕获常规javascript错误:

<script type="text/javascript">
    window.onerror = function(msg, url, linenumber) {
        alert('Error message: '+msg+'\nURL: '+url+'\nLine Number: '+linenumber);
        return true;
    }
</script>
Run Code Online (Sandbox Code Playgroud)

我试了一下,发现像这样的dojo erros:

TypeError: this.canvas is undefined         dojo.js (Row 446)
Run Code Online (Sandbox Code Playgroud)

没有使用这种方法报告,这引出了我的问题:

如何使用(尤其是dojo错误)报告所有 javascript错误window.onerror

javascript error-handling dojo

28
推荐指数
1
解决办法
3万
查看次数

Deck.gl GeoJsonLayer:点击时更新特征颜色

我正在使用 Deck.gl GeoJsonLayer 在地图上显示区域。通过一次活动,我能够使这些区域成为可选择的。我正在努力解决的问题是在单击功能选择后更改功能的颜色。

这是渲染层函数(改编自此处

_renderLayers(props) {
  const { geofeats } = props;

return [
  new GeoJsonLayer({
    id: 'geojson',
    data: geofeats,
    opacity: 0.8,
    stroked: true,
    filled: true,
    extruded: true,
    wireframe: true,
    getElevation: f => 10000, 
    getFillColor: f =>
    {
        if(f.properties.selected)
        {
            return  [200, 200, 100];
        } else return  [200, 100, 150];

    },
    getLineColor: [255, 255, 255],
    pickable: true,
    onHover: this._onHover, 
    onClick: this._onClick
  })
];
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我通过 setState() 更新要素集合中要素的选择状态时,即使数据中表示了状态更改,渲染也不会更新。

这就是我中继“geofeats”对象的方式:

  render() {
  const {features} = this.state;

  const {mapStyle = …
Run Code Online (Sandbox Code Playgroud)

reactjs deck.gl

5
推荐指数
1
解决办法
5821
查看次数

标签 统计

deck.gl ×1

dojo ×1

error-handling ×1

javascript ×1

reactjs ×1