React.useContext retornando o valor padrão ao invés do valor do estado

Estou usando a api Context do React para servir um usuário na minha aplicação inteira. Porém, quando consumo esse contexto ele retorna o valor padrão dele, especificado no createContext, ao invés do valor do estado que foi associado a ele.

Há certeza de que o estado do usuário está sendo atualizado, visto que o console.log no App.tsx imprime as informações corretamente.

O problema que vejo é que o valor do estado não está sendo atualizado no UserContext, mas não sei o porquê disso estar acontecendo.

App.tsx:

import UserContext from './context/user.context';
import useUser from './hooks/useUser.hook';
import Sidebar from './components/Sidebar';

const App = () => {
  const { user, setUser } = useUser();

  console.log('App:', user) // App: { id: 0, name: 'usuario', ... }

  return (
      <UserContext.Provider value={{ user, setUser }}>
          <Sidebar />
      </UserContext.Provider>

useUser.hook.ts:

import { useState, useEffect } from "react";
import request from "../lib/request";
import IUser from "src/utils/interfaces/user.interface";

const useUser = () => {
    const [user, setUser] = useState<IUser | null>(null);

    const fetchUser = async () => {
        const { data } = await request<IUser>({
            url: 'auth',
            method: 'GET'
        });

        setUser(data ?? null);
    };
    
    useEffect(() => {
        fetchUser();
    }, []);

    return {
        user,
        setUser
    };
};

export default useUser;

user.context.ts:

import { createContext } from 'react';
import type { Dispatch, SetStateAction } from 'react';
import IUser from '../utils/interfaces/user.interface';

type ContextType = {
    user: IUser | null,
    setUser: Dispatch<SetStateAction<IUser | null>>
};

const UserContext = createContext<ContextType>({ 
    user: null, 
    setUser() { 
        return null; 
    } 
});

export default UserContext;

Sidebar.tsx:

import { useEffect, useContext } from "react";
import type { FC } from "react";
import UserContext from "src/context/user.context";

const Sidebar: FC = () => {
    const { user } = useContext(UserContext);
    
    useEffect(() => {
        console.log('Sidebar user:', user) // Sidebar user: null
    }, [user]);

   return <aside>...</aside>