diff --git a/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx b/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx index a53a4a9bf3..2348460c1c 100644 --- a/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx +++ b/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import React from 'react'; import { Typography } from '@mui/material'; import { DataGrid, GridColDef } from '@mui/x-data-grid'; import { useState } from 'react'; @@ -21,6 +21,7 @@ const columns: GridColDef[] = [ const CopyBOMProjectSection: React.FC = ({ selectedProject, onSelectionChange }) => { const [selectedMaterialIds, setSelectedMaterialIds] = useState([]); + const [isInitialized, setInitialization] = useState(false); const { data: materials, isLoading: isLoadingMaterials, @@ -35,13 +36,12 @@ const CopyBOMProjectSection: React.FC = ({ selectedP error: assembliesError } = useGetAssembliesForWbsElement(selectedProject.wbsNum); - useEffect(() => { - if (materials) { - const allIds = materials.map((m) => m.materialId); - setSelectedMaterialIds(allIds); - onSelectionChange(allIds); - } - }, [materials, onSelectionChange]); + if (materials && !isInitialized) { + setInitialization(true); + const allIds = materials.map((m) => m.materialId); + setSelectedMaterialIds(allIds); + onSelectionChange(allIds); + } if (isErrorMaterials) return ; if (isErrorAssemblies) return ;