Fix: Maximum update depth exceeded in NewScrapePage
Wrap handleJobsChange in useCallback to prevent infinite re-renders caused by onJobsChange dependency changing on every render. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,18 +1,19 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { useRouter } from 'next/navigation';
|
import { useRouter } from 'next/navigation';
|
||||||
|
import { useCallback } from 'react';
|
||||||
import ScraperTest from '@/components/ScraperTest';
|
import ScraperTest from '@/components/ScraperTest';
|
||||||
import { useJobs } from '@/contexts/JobsContext';
|
import { useJobs } from '@/contexts/JobsContext';
|
||||||
import { JobStatus } from '@/components/ScraperTest';
|
import { JobStatus } from '@/components/ScraperTest';
|
||||||
|
|
||||||
export default function NewScrapePage() {
|
export default function NewScrapePage() {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { addJob, refreshJobs } = useJobs();
|
const { addJob } = useJobs();
|
||||||
|
|
||||||
const handleJobsChange = (jobs: JobStatus[]) => {
|
const handleJobsChange = useCallback((jobs: JobStatus[]) => {
|
||||||
// Add new jobs to context
|
// Add new jobs to context (addJob handles deduplication)
|
||||||
jobs.forEach(job => addJob(job));
|
jobs.forEach(job => addJob(job));
|
||||||
};
|
}, [addJob]);
|
||||||
|
|
||||||
const handleSelectReviews = (reviews: unknown[], businessName: string, jobId: string) => {
|
const handleSelectReviews = (reviews: unknown[], businessName: string, jobId: string) => {
|
||||||
// Navigate to analytics page for this job
|
// Navigate to analytics page for this job
|
||||||
|
|||||||
Reference in New Issue
Block a user