From 96dd717a9d41cf9d62328c46167af5937b8cf5a4 Mon Sep 17 00:00:00 2001 From: Quentin Jaccarino Date: Wed, 23 Aug 2023 10:34:34 +0200 Subject: [PATCH] fix: react hook return value (#217) Also updates the initialization of the server --- .changeset/lemon-books-wink.md | 5 +++++ packages/server/src/react.ts | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 .changeset/lemon-books-wink.md diff --git a/.changeset/lemon-books-wink.md b/.changeset/lemon-books-wink.md new file mode 100644 index 00000000..059e7efa --- /dev/null +++ b/.changeset/lemon-books-wink.md @@ -0,0 +1,5 @@ +--- +"@ledgerhq/wallet-api-server": patch +--- + +fix: react hook return value diff --git a/packages/server/src/react.ts b/packages/server/src/react.ts index 3eab95b4..5ff67775 100644 --- a/packages/server/src/react.ts +++ b/packages/server/src/react.ts @@ -25,26 +25,26 @@ export function useWalletAPIServer({ permission: Permission; }) { const server = useRef(); - - useEffect(() => { + // I don't really like this but it comes from the doc + // https://react.dev/reference/react/useRef#avoiding-recreating-the-ref-contents + if (server.current === undefined) { server.current = new WalletAPIServer(transport, config, logger); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + } useEffect(() => { - server?.current?.setConfig(config); + server.current?.setConfig(config); }, [config]); useEffect(() => { - server?.current?.setPermissions(permission); + server.current?.setPermissions(permission); }, [permission]); useEffect(() => { - server?.current?.setCurrencies(currencies); + server.current?.setCurrencies(currencies); }, [currencies]); useEffect(() => { - server?.current?.setAccounts(accounts); + server.current?.setAccounts(accounts); }, [accounts]); const onMessage = useCallback( @@ -55,7 +55,7 @@ export function useWalletAPIServer({ ); return { - server, + server: server.current, onMessage, }; }