All files / point-collection/src index.tsx

66.66% Statements 4/6
100% Branches 0/0
33.33% Functions 1/3
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22                            1x   1x   1x 1x    
/// <reference types="@uiw/react-baidu-map-types" />
import React, { useEffect, useImperativeHandle } from 'react';
import { OverlayProps } from '@uiw/react-baidu-map-map';
import { usePointCollection } from './usePointCollection';
 
export * from './usePointCollection';
export interface PointCollectionProps extends OverlayProps, BMap.PointCollectionOption, BMap.PointCollectionEvents {
  points?: [number, number][];
}
 
export default React.forwardRef<
  PointCollectionProps & { pointCollection?: BMap.PointCollection },
  PointCollectionProps
>((props, ref) => {
  const { pointCollection, setPoints } = usePointCollection(props);
  // eslint-disable-next-line react-hooks/exhaustive-deps
  useEffect(() => setPoints(props.points), [props.points]);
  // eslint-disable-next-line react-hooks/exhaustive-deps
  useImperativeHandle(ref, () => ({ ...props, pointCollection }), [pointCollection]);
  return null;
});