Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react native maps区域未更新-地图卡在一个区域上_Javascript_Reactjs_React Native_Redux_React Native Maps - Fatal编程技术网

Javascript react native maps区域未更新-地图卡在一个区域上

Javascript react native maps区域未更新-地图卡在一个区域上,javascript,reactjs,react-native,redux,react-native-maps,Javascript,Reactjs,React Native,Redux,React Native Maps,我有一个,当我滚动地图时,该区域从不更新。地图基本上是停留在一个地区。当我滚动时,它似乎将完全相同的区域传递到this.props.onRegionChange,这会阻止地图滚动。如何使其在滚动到区域中传递 <MapView style={styles.map} region={this.props.region} onRegionChange={this.props.onRegionChange} >

我有一个
,当我滚动地图时,该区域从不更新。地图基本上是停留在一个地区。当我滚动时,它似乎将完全相同的区域传递到
this.props.onRegionChange
,这会阻止地图滚动。如何使其在滚动到区域中传递

<MapView
          style={styles.map}
          region={this.props.region}
          onRegionChange={this.props.onRegionChange}
        >
          {
            this.props.markers.map(marker => {
              return (
                <MapView.Marker
                  coordinate={{ latitude: marker.latitude, longitude: marker.longitude }}
                  title={marker.name}
                />
              )
            })}
        </MapView>

使用
onRegionChangeComplete

<MapView
  style={styles.map}
  region={this.props.region}
  onRegionChangeComplete={this.props.onRegionChange}>

文档中的示例使用了
onRegionChange
。因此,
onRegionChange
可能对大多数人有效。也许它在没有redux的情况下可以工作。不管怎样,如果遇到相同的问题,简单的解决方法是
onRegionChangeComplete

// @flow
import initialState from '../../config/config'
import { UPDATE_REGION } from './map.action'

const map = (
  initialMapState: [] = initialState.get('map'),
  action: Object): string => {
  switch (action.type) {
    case UPDATE_REGION: {
      if (action.payload) {
        return initialMapState.set('region', {
          latitudeDelta: 0.0922,
          longitudeDelta: 0.0421,
          latitude: action.payload.region.latitude,
          longitude: action.payload.region.longitude
        })
      } else {
        return initialMapState
      }
    }
    default:
      return initialMapState
  }
}

export default map
<MapView
  style={styles.map}
  region={this.props.region}
  onRegionChangeComplete={this.props.onRegionChange}>