message: fix: prevent reset when contents hot reloaded
diff: @@ -66,7 +66,6 @@ export const useCesiumComponent = <Element, Props, Context, ProvidedContext = an
  const prevProps = useRef<Props>({} as Props);
  const [mounted, setMounted] = useState(false);
  const mountedRef = useRef(false);
  - const [remount, setRemount] = useState(0);
  const wrapperRef = useRef<HTMLDivElement>(null);
  const stateRef = useRef<State>();
  const eventManager = ctx[eventManagerContextKey];
  @@ -139,27 +138,16 @@ export const useCesiumComponent = <Element, Props, Context, ProvidedContext = an
  );
  }
  - setRemount(i => i + 1);
  + unmount();
  + mount();
  }
  },
  - [
  - cesiumEventProps, // static
  - cesiumProps, // static
  - cesiumReadonlyProps, // static
  - ctx, // static
  - eventManager, // static
  - name, // static
  - update, // static
  - useCommonEvent, // static
  - useRootEvent, // static
  - ],
  + [], // eslint-disable-line react-hooks/exhaustive-deps
  );
  - useLayoutEffect(() => {
  - const wrapperDiv = wrapperRef.current;
  -
  + const mount = useCallback(() => {
  // Initialize cesium element
  - const result = create?.(ctx, initialProps.current, wrapperDiv);
  + const result = create?.(ctx, initialProps.current, wrapperRef.current);
  if (Array.isArray(result)) {
  element.current = result[0];
  stateRef.current = result[1];
  @@ -199,11 +187,12 @@ export const useCesiumComponent = <Element, Props, Context, ProvidedContext = an
  if (useCommonEvent && em && element.current) {
  em.setEvents(useRootEvent ? null : element.current, initialProps.current);
  }
  + }, []); // eslint-disable-line react-hooks/exhaustive-deps
  - return () => {
  + const unmount = useCallback(() => {
  // Destroy cesium element
  if (element.current && destroy) {
  - destroy(element.current, ctx, wrapperDiv, stateRef.current);
  + destroy(element.current, ctx, wrapperRef.current, stateRef.current);
  }
  const em = useRootEvent
  @@ -230,20 +219,13 @@ export const useCesiumComponent = <Element, Props, Context, ProvidedContext = an
  setMounted(false);
  mountedRef.current = false;
  - };
  - }, [
  - cesiumEventProps, // static
  - create, // static
  - ctx, // static
  - destroy, // static
  - eventManager, // static
  - provide, // static
  - remount,
  - setCesiumPropsAfterCreate, // static
  - updateProperties, // static
  - useCommonEvent, // static
  - useRootEvent, // static
  - ]);
  + }, []); // eslint-disable-line react-hooks/exhaustive-deps
  +
  + // To prevent re-execution by hot loader, execute only once
  + useLayoutEffect(() => {
  + mount();
  + return () => unmount();
  + }, []); // eslint-disable-line react-hooks/exhaustive-deps
  // Update properties of cesium element
  useEffect(() => {
  