diff --git a/src/admin/components/elements/DocumentDrawer/DrawerContent.tsx b/src/admin/components/elements/DocumentDrawer/DrawerContent.tsx index 5a4582c66d..7c552fa336 100644 --- a/src/admin/components/elements/DocumentDrawer/DrawerContent.tsx +++ b/src/admin/components/elements/DocumentDrawer/DrawerContent.tsx @@ -23,7 +23,6 @@ import { CollectionPermission } from '../../../../auth'; const Content: React.FC = ({ collectionSlug, - id, drawerSlug, customHeader, onSave, @@ -37,12 +36,14 @@ const Content: React.FC = ({ const hasInitializedState = useRef(false); const [isOpen, setIsOpen] = useState(false); const [collectionConfig] = useRelatedCollections(collectionSlug); - const { docPermissions } = useDocumentInfo(); + const { docPermissions, id } = useDocumentInfo(); const [fields, setFields] = useState(() => formatFields(collectionConfig, true)); + // no need to an additional requests when creating new documents + const initialID = useRef(id); const [{ data, isLoading: isLoadingDocument, isError }] = usePayloadAPI( - (id ? `${serverURL}${api}/${collectionSlug}/${id}` : null), + (initialID.current ? `${serverURL}${api}/${collectionSlug}/${initialID.current}` : null), { initialParams: { 'fallback-locale': 'null', depth: 0, draft: 'true' } }, ); @@ -51,7 +52,7 @@ const Content: React.FC = ({ }, [collectionSlug, collectionConfig]); useEffect(() => { - if (isLoadingDocument) { + if (isLoadingDocument || hasInitializedState.current) { return; } @@ -127,7 +128,7 @@ const Content: React.FC = ({ {id && ( - + )} ), @@ -163,7 +164,6 @@ export const DocumentDrawerContent: React.FC = (props) => { >