diff options
author | Eric Bailey <git@esb.lol> | 2024-04-25 16:29:05 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-25 22:29:05 +0100 |
commit | 45d354cd0c76563de6d3d1146bebb750e0f6d4a0 (patch) | |
tree | 0939d1d6d91a4f812b1abeb005c6347b39692086 /src/state/session/index.tsx | |
parent | d8c8e1e854654dbcf9585d0b3bd8c87d77df2e0f (diff) | |
download | voidsky-45d354cd0c76563de6d3d1146bebb750e0f6d4a0.tar.zst |
[Session] Add `useAgent` hook and replace (#3706)
* Hook it up * Memoize getAgent method * Use one shared reference --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Diffstat (limited to 'src/state/session/index.tsx')
-rw-r--r-- | src/state/session/index.tsx | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx index adf6ccf6d..e45aa031f 100644 --- a/src/state/session/index.tsx +++ b/src/state/session/index.tsx @@ -23,16 +23,14 @@ import {readLabelers} from './agent-config' let __globalAgent: BskyAgent = PUBLIC_BSKY_AGENT -/** - * NOTE - * Never hold on to the object returned by this function. - * Call `getAgent()` at the time of invocation to ensure - * that you never have a stale agent. - */ -export function getAgent() { +function __getAgent() { return __globalAgent } +export function useAgent() { + return React.useMemo(() => ({getAgent: __getAgent}), []) +} + export type SessionAccount = persisted.PersistedAccount export type SessionState = { |