UNPKG

@wayz/react-gl

Version:

React Component for DeckGL, Base on AMap, Mapbox GL

18 lines (17 loc) 602 B
import { useEffect, useMemo } from 'react'; import useMapGLContext from '../../context/useMapGLContext'; import { extractTsxLayers } from '../../utils/extract-tsx-layer'; function LayerWrapper({ children }) { const { _addLayer: addLayer, _removeLayer: removeLayer } = useMapGLContext(); const layers = useMemo(() => extractTsxLayers(children), [children]); useEffect(() => { if (!Array.isArray(layers)) return; addLayer(layers); return () => { removeLayer(layers); }; }, [layers]); return null; } export default LayerWrapper;