fix: memoize components and improve performance (#579)

This commit is contained in:
Jeremy 2024-12-03 17:49:38 +03:00 committed by GitHub
parent a13368cfcd
commit e839007580
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 453 additions and 232 deletions

View file

@ -10,8 +10,9 @@ import { Button } from '@/components/ui/button';
import { BetterTooltip } from '@/components/ui/tooltip';
import { PlusIcon, VercelIcon } from './icons';
import { useSidebar } from './ui/sidebar';
import { memo } from 'react';
export function ChatHeader({ selectedModelId }: { selectedModelId: string }) {
function PureChatHeader({ selectedModelId }: { selectedModelId: string }) {
const router = useRouter();
const { open } = useSidebar();
@ -54,3 +55,7 @@ export function ChatHeader({ selectedModelId }: { selectedModelId: string }) {
</header>
);
}
export const ChatHeader = memo(PureChatHeader, (prevProps, nextProps) => {
return prevProps.selectedModelId === nextProps.selectedModelId;
});