Есть несколько вещей, которые, как я заметил, могут быть причиной проблемы здесь.Во-первых, похоже, что вы дважды проверяете значение состояния;внутри свойства элемента Showredo и снова внутри возвращаемого значения.во-вторых, в коде есть два открытых тега просмотра и два текстовых тега без закрытия.В-третьих, я не вижу, связана ли функция onregionchange или нет.И, наконец, вы возвращаете два элемента в функции рендеринга (или фактически отсутствует два закрывающих тега представления в конце)
попробуйте изменить свой код на этот, который должен исправить все из них:
onregionchange = () => {
this.setState({redosearch: !this.state.redosearch })
}
render() {
const { redosearch } = this.state;
return([
<View key="a_key_for_element_1">
{redosearch ? <View><Text> redo now </Text></View> : null}
</View>,
<MapView
key="a_key_for_element_2"
ref={(map) => (this.map = map)}
style={styles.map}
onRegionChange={this.onregionchange}
>
</MapView>]
);
}