@wayz/react-gl
Version:
React Component for DeckGL, Base on AMap, Mapbox GL
19 lines (18 loc) • 658 B
JavaScript
import { useEffect, useMemo } from 'react';
import useMapGLContext from '../../context/useMapGLContext';
import { extractTsxLayers } from '../../utils/extract-tsx-layer';
function LayerWrapper(_a) {
var children = _a.children;
var _b = useMapGLContext(), addLayer = _b._addLayer, removeLayer = _b._removeLayer;
var layers = useMemo(function () { return extractTsxLayers(children); }, [children]);
useEffect(function () {
if (!Array.isArray(layers))
return;
addLayer(layers);
return function () {
removeLayer(layers);
};
}, [layers]);
return null;
}
export default LayerWrapper;