React JS Google Map使用限制

时间:2016-09-29 02:47:15

标签: node.js google-maps reactjs google-maps-api-3 npm

我刚刚开始使用React JS,我目前正致力于将谷歌地图“google-maps-react”打包并运行。

根据我对React JS的基本理解,任何更改都会导致整个组件层次结构重新呈现。

通过此link了解Google使用信息;任何重新渲染都构成一种用法。

问题 那么,React JS开发人员如何处理这个问题呢? React之前的25,000个免费地图渲染是相当可观的,但它似乎是一个相当简单的上限,像React这样的框架会导致重新渲染你的层次结构中的任何变化。

选项1 是确保map组件不嵌套在可由其他组件更新的层次结构中的最佳方法吗?我编写了一个示例应用程序,并确认只重新调用层次结构中调用更改的组件。

如果这是最好的方式,那很好,但我希望听到更有经验的React开发人员。

谢谢,

2 个答案:

答案 0 :(得分:1)

我认为25k限制是指您请求google maps js sdk,而不是您实例化google.maps.Map对象的频率。

是的,最好不要一直重新渲染封装地图的组件。

检查这个简单的地图组件:

https://github.com/Scarysize/react-maps-popup/blob/master/src/map.js

它初始化地图一次并使用函数作为子方法传播地图实例(你可以简单地将回调作为道具传递)。

答案 1 :(得分:0)

经过一番挖掘后,我发现“google-map-react”NPM软件包在幕后做了一些有趣的事情。它实际上是使用最新的地图状态向您的标记发送更新。

一旦我找到了这个,我就陷入了这种行为,现在我的地图只渲染了一次,我根据这种行为动态处理标记变化。

我无法在任何地方找到此行为,但碰巧在我的标记内通过console.log(JSON.stringify(this.props))偶然发现。