This is a utility hook for building custom real-time data visualizations with dynamic viewport adjustment. Use it when you need charts where the x-axis automatically scrolls with incoming data, such as live monitoring dashboards.
Features
- Smooth data interpolation
- Automatic viewport adjustment
- Sliding window with dynamic x-domain
- Pause/resume streaming
- Reset functionality
- RequestAnimationFrame-based updates
Basic usage
Real-time metrics
API Reference
Return value
Difference from useStreamingData
- useStreamingData: Returns only data
- useStreamingViewport: Returns data + xDomain for chart axis
Example with timestamps
Performance considerations
- Uses requestAnimationFrame for smooth animations
- Automatically pauses when running is false
- Cleans up on unmount
- Efficient sliding window implementation
Use cases
- Real-time dashboards: System monitoring, analytics
- Live data feeds: Stock prices, sensor data
- Performance monitoring: Server metrics, application stats
- IoT dashboards: Temperature, humidity, sensor readings
Related hooks
- useStreamingData - Similar but without viewport management