<!-- source-hash: 46c807f28abd31956b4ff7b115e99218 -->
A React hook that provides callback memoization with deep dependency comparison, offering an alternative to `useCallback` with more sophisticated change detection.

## Key Components

- **`useMemoizedCallback<T>`** - Main hook function that accepts a callback and dependencies array
- **`callbackRef`** - Ref to store the current callback function
- **`dependenciesRef`** - Ref to store the previous dependencies for comparison
- **Deep comparison logic** - Uses `Object.is()` to detect changes in dependency values

## Usage Example

```typescript
import { useMemoizedCallback } from './use-memoized-callback'

function MyComponent({ userId, filters }: Props) {
  // Memoizes callback with deep dependency comparison
  const handleSearch = useMemoizedCallback(
    (query: string) => {
      return searchAPI(query, userId, filters)
    },
    [userId, filters] // Dependencies are deeply compared
  )

  // Callback only recreates when userId or filters actually change
  return (
    <SearchInput onSearch={handleSearch} />
  )
}

// Complex object dependencies
const complexCallback = useMemoizedCallback(
  (data: any) => processData(data, config),
  [config.nested.value, config.enabled] // Fine-grained dependency tracking
)
```

The hook updates the callback reference on every render but only triggers memoization updates when dependencies actually change, providing more precise control over callback recreation than standard `useCallback`.