React Native Maps with Redux:不稳定的区域变化

React Native Maps with Redux: Choppy region changes

使用以下内容:

我对如何更新 state.map.region 有点困惑。我有触发状态更改的手动和自动 (animateToCoordinate) 操作。我不确定是否使用 onRegionChange、onRegionChangeComplete 或 onMapReady 来更新与我的地图关联的当前区域。到目前为止,我尝试过的所有组合都会产生断断续续的动画,其中地图会跳回之前的状态(区域)。

到目前为止效果最好的是在 onRegionChange 和 onRegionChangeComplete 上用新区域更新局部变量,然后在 onMapReady 上分派该更改。 .. 但这仍然不理想且不稳定。

似乎 onRegionChangeComplete 被调用得太早了。

我将 MapView 的区域设置为从状态派生,然后使用 onRegionChangeComplete 触发 setState 重新渲染地图。 在受控的拖放式移动中效果很好,但是当拖动地图并放开它时,它会滑动直到停止。似乎在这种特殊情况下 onRegionChangeComplete 触发多次触发多个 setState 调用,这在视觉上并不总是很漂亮,但它是我在 [=17 上工作时最接近的事情=].

最终为我解决此问题的是在 MapView 组件中设置 intialRegion 而不是区域。一旦我添加了 initialRegion 并删除了区域,断断续续的动画就不再是问题了。

MapView 中删除 region = {this.state.region} 为我解决了类似的问题。