diff options
Diffstat (limited to 'src/state/cache')
-rw-r--r-- | src/state/cache/post-shadow.ts | 10 | ||||
-rw-r--r-- | src/state/cache/profile-shadow.ts | 10 |
2 files changed, 12 insertions, 8 deletions
diff --git a/src/state/cache/post-shadow.ts b/src/state/cache/post-shadow.ts index c49097700..d20f6ebaa 100644 --- a/src/state/cache/post-shadow.ts +++ b/src/state/cache/post-shadow.ts @@ -1,4 +1,4 @@ -import {useEffect, useState, useCallback, useRef} from 'react' +import {useEffect, useState, useMemo, useCallback, useRef} from 'react' import EventEmitter from 'eventemitter3' import {AppBskyFeedDefs} from '@atproto/api' import {Shadow} from './types' @@ -55,9 +55,11 @@ export function usePostShadow( firstRun.current = false }, [post]) - return state.ts > ifAfterTS - ? mergeShadow(post, state.value) - : {...post, isShadowed: true} + return useMemo(() => { + return state.ts > ifAfterTS + ? mergeShadow(post, state.value) + : {...post, isShadowed: true} + }, [post, state, ifAfterTS]) } export function updatePostShadow(uri: string, value: Partial<PostShadow>) { diff --git a/src/state/cache/profile-shadow.ts b/src/state/cache/profile-shadow.ts index 59f79634d..5323effaf 100644 --- a/src/state/cache/profile-shadow.ts +++ b/src/state/cache/profile-shadow.ts @@ -1,4 +1,4 @@ -import {useEffect, useState, useCallback, useRef} from 'react' +import {useEffect, useState, useMemo, useCallback, useRef} from 'react' import EventEmitter from 'eventemitter3' import {AppBskyActorDefs} from '@atproto/api' import {Shadow} from './types' @@ -56,9 +56,11 @@ export function useProfileShadow( firstRun.current = false }, [profile]) - return state.ts > ifAfterTS - ? mergeShadow(profile, state.value) - : {...profile, isShadowed: true} + return useMemo(() => { + return state.ts > ifAfterTS + ? mergeShadow(profile, state.value) + : {...profile, isShadowed: true} + }, [profile, state, ifAfterTS]) } export function updateProfileShadow( |