From b814fd6b4da8a362f05f77493ecd0bb3b6a8457a Mon Sep 17 00:00:00 2001 From: Yousef El-Dardiry Date: Sun, 2 May 2021 21:22:36 +0200 Subject: [PATCH] usereactives --- packages/reactive-react/src/useReactive.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/reactive-react/src/useReactive.ts b/packages/reactive-react/src/useReactive.ts index 5b46008..6a24169 100644 --- a/packages/reactive-react/src/useReactive.ts +++ b/packages/reactive-react/src/useReactive.ts @@ -14,3 +14,18 @@ export function useReactive(stateObject: T): T { return ret; } + +export function useReactives(...stateObjects: T): T { + const [, forceUpdate] = useReducer((c) => c + 1, 0); + const trigger = { + trigger: () => { + forceUpdate(); + }, + }; + + return useMemo(() => { + return stateObjects.map((stateObject) => { + return reactive(stateObject, trigger); + }); + }, []) as T; +}