import React from 'react' import { Bot, User } from 'lucide-react' interface ChatMessage { id: string; role: 'user' | 'ai'; content: string; timestamp: number; } interface MessageBubbleProps { message: ChatMessage; } /** * 优化后的消息气泡组件 * 使用 React.memo 避免不必要的重新渲染 */ export const MessageBubble = React.memo(({ message }) => { return (
{message.role === 'ai' ? : }
{message.content}
) }, (prevProps, nextProps) => { // 自定义比较函数:只有内容或ID变化时才重新渲染 return prevProps.message.content === nextProps.message.content && prevProps.message.id === nextProps.message.id }) MessageBubble.displayName = 'MessageBubble'