'zooms' 是一个静态属性,地图实例创建成功后无法修改
meitingshuoguo opened this issue · 3 comments
meitingshuoguo commented
- 我已经搜索过 issue,没有类似的问题,或者类似的问题仍然没有解决方案。
- 我已经搜索过文档,并且仍然没有找到解决方案。
- 我写了个问题重现的例子,链接或者代码将会贴在下面。
Reproduce Example Link or Code Fragment
在我给map的zooms设置了自定义的[3,20]后。控制台出现警告信息“'zooms' 是一个静态属性,地图实例创建成功后无法修改 ”
经过查看发现是react-amap/lib/map/index.js的219行的判断返回了true。
该实际判断(237行)在[3,20]!==[3,20]返回的是true。但实际上我们应该是希望这里返回false的,
因为该值前后其实没有发生变化。
237行的判断应该是没有考虑到数组。
所以这应该是个bug
What is Expected?
What is actually happening?
Clago commented
const zooms = [10,20];
<Map
...
zooms={zooms}
expandZoomRange
/>
zooms变量提出来不会报这个warning了。这个和react的render机制有关,每次render的数组是新创建的,不是同一个引用。
这项目看来已经死了,没人维护了,emm.
meitingshuoguo commented
对哦,在render外面声明一个变量的话,那每次render后前一次和这一次对比的话就是同一个引用了。还真没想到这个。多谢。
另外发现一个新的用react封装的高德地图库。后面的项目用这个了,感觉还可以。