Javascript 如何使用MapView区域更改更改TouchableOpacity颜色?

Javascript 如何使用MapView区域更改更改TouchableOpacity颜色?,javascript,react-native,expo,Javascript,React Native,Expo,考虑以下代码: import React,{useState,useffect}来自“React”; 从“react native”导入{样式表、图像、视图、滚动视图、文本、平面列表、TouchableOpacity}; 从“react native maps”导入MapView,{Marker}; 从“expo location”导入{requestPermissionsAsync,getCurrentPositionAsync}; 从“反应本机手势处理程序”导入{TouchableHighl

考虑以下代码:

import React,{useState,useffect}来自“React”;
从“react native”导入{样式表、图像、视图、滚动视图、文本、平面列表、TouchableOpacity};
从“react native maps”导入MapView,{Marker};
从“expo location”导入{requestPermissionsAsync,getCurrentPositionAsync};
从“反应本机手势处理程序”导入{TouchableHighlight,TextInput};
从“@expo/vector icons”导入{MaterialIcons};
从“../../components/searchInput”导入搜索栏;
函数Main(){
常量[currentRegion,setCurrentRegion]=useState(null);
变量颜色='红色';
函数changeColor(){
颜色=‘蓝色’;
};
useffect(()=>{
异步函数loadInitialPosition(){
const{grated}=wait requestPermissionsAsync();
如果(授予){
const{coords}=等待getCurrentPositionAsync({
EnableHighAccurance:正确,
});
常数{纬度,经度}=坐标;
userCoords=coords;
setCurrentRegion({
纬度,
经度,
纬度德尔塔:0.01,
纵向德尔塔:0.01,
})
}
}
报税表(
{map=mapView;}}
onRegionChange={()=>{
changeColor()
}}
initialRegion={currentRegion}
style={style.map}
customMapStyle={Mapstyle}
showsMyLocationButton={true}
showsUserLocation={true}
>
{satiros.localizarSatiros()}
{}}style={style.touchable}>
{
mapboxModule.CentralizarLocalizao(地图,用户坐标。纬度,用户坐标。经度,60)
}}style={style.touchable2}>
{
images.map((项目,索引)=>(
{mapsiled.card.nome}
{mapsiled.card.desc}
))
}
);
}
constyles=StyleSheet.create(styleJaja)
导出默认主;
我想在用户移动地图时更改TouchableOpacity的backgroundColor值。 为了检测他是否在移动,我使用了“onRegionChange”,它调用函数“changeColor”,而不是将“color”变量更改为蓝色。到目前为止还不错。“color”变量值确实在变化

但这种变化不会影响背景颜色,只会影响变量。
有什么想法吗?

也许您可以尝试创建一个新的
useState
来控制和设置颜色,如:

const[color,setColor]=useState('red');

changeColor(){setColor('blue');};

也许您可以尝试创建一个新的
useState
来控制和设置颜色,如:

const[color,setColor]=useState('red');

changeColor(){setColor('blue');};

也许你可以尝试创建一个新的
useState
来控制和设置颜色,比如
const[color,setColor]=useState('red');
changeColor(){setColor('blue');};
?它起作用了。谢谢。干杯,我已经把它添加到了答案中。你可以完成这个问题:)也许您可以尝试创建一个新的
useState
来控制和设置颜色,比如
const[color,setColor]=useState('red')
changeColor(){setColor('blue');}?成功了。谢谢。干杯,我已经把它添加到答案中了。你可以完成这个问题:)