这有点远,但这里有。我在React中创建了一个Polygon组件,除非删除多边形中的一个点,否则它的工作效果很好,然后出现多边形看起来的奇怪阴影。屏幕截图:
如果我修改了多边形,那么线索就会消失,它只会在删除后立即发生,而且并不总是发生。感觉就像在Polygon上通过setPath
发生奇怪的内存泄漏。
为了让您了解代码的外观,我有两个组件,我将坐标从父DrawingManager
传递给MapPolygon
作为道具,并且所有更改都发生在通过在子项的componentDidUpdate
中设置路径来反映父组件。
export default class DrawingManager extends Component{
render(){
return (
<MapPolygon
coordinates={path}
map={this.map}
/>
)
}
}
export default class MapPolygon extends Component {
componentDidUpdate(prev) {
if (coordinates != prev.coordinates) {
this.polygon.setOptions({
paths: coordinates
});
this.applyListeners();
}
}
}
我知道这是代码的一个非常高级别的概述,但是重新创建问题有点复杂,所以如果有人有类似的问题会告诉我这个问题。