MySQL не может использовать индекс для соединения.
Вы можете использовать объединение по трем объединениям (по одному для iata, faa, icao).
Вам необходимо вернуть маркер в componentDidMount
.
Например:
this.setState({markers: this.state.markers.map(marker =>{
if(marker.watchId === id){
found = true
marker.latitude = lat
marker.longitude = long
}
return marker
})});