React хук для работы с Server-Sent Events (SSE).
npm install use-server-sent-eventimport { useServerSentEvent } from 'use-server-sent-event';
function MyComponent() {
const { data, error, isConnected } = useServerSentEvent<MyDataType>(
'http://localhost:3000/events',
initialData
);
if (error) {
return <div>Ошибка: {error.message}</div>;
}
return (
<div>
<p>Статус: {isConnected ? 'Подключено' : 'Отключено'}</p>
<p>Данные: {JSON.stringify(data)}</p>
</div>
);
}url- URL для подключения к SSE endpointinitialState- Начальное состояние данных (опционально)
data- Текущие данные от сервераerror- Ошибка подключения (если есть)isConnected- Статус подключения (boolean)
В папке src/example находится полная демонстрация работы хука:
cd src/example
bun server.jsЗатем откройте в браузере:
- http://localhost:3000/react - React приложение с хуком
- http://localhost:3000 - Простой JavaScript интерфейс
server.js- Сервер с SSE endpointclient-simple.tsx- React приложение с упрощенной версией хукаreact-demo.html- HTML файл для запуска демонстрацииstart.sh- Скрипт для запуска сервера
Подробная документация в src/example/README.md.
- Автоматическое подключение/отключение
- Обработка ошибок
- TypeScript поддержка
- SSR совместимость
- Оптимизированная производительность