mirror of
https://github.com/dergigi/boris.git
synced 2025-12-17 14:44:26 +01:00
fix(article): prevent re-fetch on settings change by memoizing via ref in useArticleLoader
This commit is contained in:
@@ -37,6 +37,11 @@ export function useArticleLoader({
|
||||
settings
|
||||
}: UseArticleLoaderProps) {
|
||||
const mountedRef = useRef(true)
|
||||
// Hold latest settings without retriggering effect
|
||||
const settingsRef = useRef<UserSettings | undefined>(settings)
|
||||
useEffect(() => {
|
||||
settingsRef.current = settings
|
||||
}, [settings])
|
||||
|
||||
useEffect(() => {
|
||||
mountedRef.current = true
|
||||
@@ -52,7 +57,7 @@ export function useArticleLoader({
|
||||
setIsCollapsed(true)
|
||||
|
||||
try {
|
||||
const article = await fetchArticleByNaddr(relayPool, naddr, false, settings)
|
||||
const article = await fetchArticleByNaddr(relayPool, naddr, false, settingsRef.current)
|
||||
|
||||
if (!mountedRef.current) return
|
||||
|
||||
@@ -123,7 +128,6 @@ export function useArticleLoader({
|
||||
}, [
|
||||
naddr,
|
||||
relayPool,
|
||||
settings,
|
||||
setSelectedUrl,
|
||||
setReaderContent,
|
||||
setReaderLoading,
|
||||
|
||||
Reference in New Issue
Block a user