diff --git a/packages/core/src/element.ts b/packages/core/src/element.ts index 66cbcbb5..e72b5c2b 100644 --- a/packages/core/src/element.ts +++ b/packages/core/src/element.ts @@ -33,7 +33,12 @@ export function createElementHook( props: P, context: LeafletContextInterface, ): ReturnType> { - return useRef>(createElement(props, context)) + const elementRef = useRef>() as MutableRefObject< + LeafletElement + > + if (!elementRef.current) + elementRef.current = createElement(props, context) + return elementRef } } @@ -41,9 +46,10 @@ export function createElementHook( props: P, context: LeafletContextInterface, ): ReturnType> { - const elementRef = useRef>( - createElement(props, context), - ) + const elementRef = useRef>() as MutableRefObject< + LeafletElement + > + if (!elementRef.current) elementRef.current = createElement(props, context) const propsRef = useRef

(props) const { instance } = elementRef.current