我有一个使用React Native Maps和大约200个标记的地图。这些标记是图像,每当被点击时,标记就会开始旋转(前一个标记在不活动时再次停止(
由于一直打开tracksViewChanges的标记的性能问题,我不得不减少它的使用。现在只有活动标记打开tracksViewChanges,其他所有标记都关闭。
因此,当点击一个标记时,我会用地图功能重新加载所有标记,只有点击的标记才会打开tracksViewChanges-标志。
这个重新加载过程似乎一直在增加我在性能监视器中的RAM,我真的不知道为什么。。
因此,我的想法是,每当单击标记时,只渲染两个标记,即分别关闭和打开tracksViewChanges的上一个和当前标记。因为似乎有点没有必要重新渲染剩下的198个无论如何都没有改变的标记。。。
所以我的问题是:是否有可能从之前渲染的标记列表中提取一个特定的标记,并仅操作该标记?
提前致以最良好的问候和衷心的感谢!
您必须自己跟踪数组或对象中的标记。这样,你就可以通过ID或一些自定义属性或你选择的属性来单独引用它们,前提是每个标记都是唯一的。
要更新单个标记,请使用map.data.forEach((使用上面解释的引用在地图上找到您的标记,然后使用它的get/set函数对其进行修改。