We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 47bd71b + 042c283 commit 9724b18Copy full SHA for 9724b18
2 files changed
src/hooks/index.ts
@@ -2,3 +2,4 @@ export * from "./use-controls";
2
export * from "./use-transform-init";
3
export * from "./use-transform-effect";
4
export * from "./use-transform-context";
5
+export * from "./use-transform-component";
src/hooks/use-transform-component.tsx
@@ -0,0 +1,16 @@
1
+import { useMemo } from "react";
+
+import { useTransformContext } from "./use-transform-context";
+import { getState } from "utils";
+import { ReactZoomPanPinchContextState } from "../models";
6
7
+export function useTransformComponent<T>(
8
+ callback: (state: ReactZoomPanPinchContextState) => T,
9
+): T {
10
+ const libraryContext = useTransformContext();
11
12
+ return useMemo(
13
+ () => callback(getState(libraryContext)),
14
+ [libraryContext, callback],
15
+ );
16
+}
0 commit comments