State Management

useOptimistic

Provides optimistic updates for immediate UI feedback during async operations.

Overview

useOptimistic allows you to show immediate UI updates while async operations are pending, then reconcile with the actual result. Perfect for forms, likes, and other interactive elements where instant feedback improves UX.

Hook Implementation

The complete hook source code

useOptimistictypescript
jsx

Usage Example

See how to use this hook in your components

Example Componenttypescript
jsx

API Reference

Parameters

initialValue: T

Initial value for the state

Returns

[T, (updater: T | ((prev: T) => T)) => void] - Optimistic value and update function

Best Practices

  • Always memoize or stabilize dependencies to prevent unnecessary re-renders
  • Consider the performance implications when dealing with frequently updated values
  • Test edge cases like null values, rapid updates, and component unmounting