'use client'; import ChatInput from '@/component/chat-input'; import { useChat } from '@ai-sdk/react'; import { DefaultChatTransport } from 'ai'; import { useLayoutEffect, useRef } from 'react'; export default function Chat() { const renderCount = useRef(0); useLayoutEffect(() => { console.log(`component rendered #${++renderCount.current}`); }); const { messages, status, sendMessage } = useChat({ transport: new DefaultChatTransport({ api: '/api/use-chat-throttle' }), experimental_throttle: 50, }); return (

useChat throttle example

{messages.map(m => (
{m.role === 'user' ? 'User: ' : 'AI: '} {m.parts .map(part => (part.type === 'text' ? part.text : '')) .join('')}
))} sendMessage({ text })} />
); }