I want to use react-native-mapbox-gl/maps in the form of mapbox- gl for example i do everything that i can to initialize MapView component in useEffect instead of component. Is it poosible that can I rewrite the code in below that is readable for react native Thanks,
import React, { useEffect, useRef, useState } from "react";
import mapboxgl from "mapbox-gl";
import "mapbox-gl/dist/mapbox-gl.css";
const styles = {
width: "100vw",
height: "calc(100vh - 80px)",
position: "absolute"
};
const MapboxGLMap = () => {
const [map, setMap] = useState(null);
const mapContainer = useRef(null);
useEffect(() => {
mapboxgl.accessToken = process.env.REACT_APP_MAPBOX_KEY;
const initializeMap = ({ setMap, mapContainer }) => {
const map = new mapboxgl.Map({
container: mapContainer.current,
style: "mapbox://styles/mapbox/streets-v11", // stylesheet location
center: [0, 0],
zoom: 5
});
map.on("load", () => {
setMap(map);
map.resize();
});
};
if (!map) initializeMap({ setMap, mapContainer });
}, [map]);
return <div ref={el => (mapContainer.current = el)} style={styles} />;
};
export default MapboxGLMap;
As it is not mentionned in react native mapbox, I would say it works differently so no