Полагаю, проблема в том, что вы используете onRegionChangeComplete
обратный вызов для сохранения нового региона в состоянии. то есть this.state.region
. и что region
опора передается в MapView
Компонент.
Попробуйте удалить region={this.state.region}
из MapView
компонента.
Обновление
Также еще одна вещь, использующая await
с setState
, является полностью избыточной (await this.setState({ region })
), потому что setSate не возвращает promise
, но undefined
.
setState
- асинхронная функция. Если вы хотите дождаться этого, вы можете поместить его в обещание и разрешить в обратном вызове / втором аргументе.
Например, когда вы хотите, чтобы setState
вел себя как синхронный вызов promisedSetState
, вот так.
promisedSetState = (newState) => new Promise((resolve) => {
this.setState(newState, () => {
resolve();
});
});
//await the promise to get resolved
await promisedSetState({newState: 'whatever it is'});