[HIGH] Stabilize AuthContext provider value - prevent consumer re-render cascade #34

Closed
opened 2026-06-09 00:03:13 +00:00 by Mark · 0 comments
Owner

Location: src/contexts/AuthContext.tsx:155-172

Problem: Provider value object is recreated as a new inline object literal on every render. All useAuth() consumers re-render unconditionally.

Impact: Unnecessary re-render cascade across the entire auth-dependent component tree on every state change.

Fix:

const value = useMemo(() => ({
  user, token, isLoading, isAuthenticated, login, register,
  logout, updatePayday, error, clearError,
}), [user, token, isLoading, isAuthenticated, error]);

Effort: ~30 mins

**Location:** `src/contexts/AuthContext.tsx:155-172` **Problem:** Provider `value` object is recreated as a new inline object literal on every render. All `useAuth()` consumers re-render unconditionally. **Impact:** Unnecessary re-render cascade across the entire auth-dependent component tree on every state change. **Fix:** ```ts const value = useMemo(() => ({ user, token, isLoading, isAuthenticated, login, register, logout, updatePayday, error, clearError, }), [user, token, isLoading, isAuthenticated, error]); ``` **Effort:** ~30 mins
Mark 2026-06-09 00:03:13 +00:00
  • closed this issue
  • added the
    bug
    label
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/subvault#34
No description provided.