diff --git a/packages/nreact/src/context.tsx b/packages/nreact/src/context.tsx
index 8ec9505a..73cadfec 100644
--- a/packages/nreact/src/context.tsx
+++ b/packages/nreact/src/context.tsx
@@ -1,6 +1,6 @@
import React from 'react'
-import { defaultMapImageUrl, defaultMapPageUrl } from '@texonom/nutils'
+import { defaultMapImageUrl, defaultMapPageUrl, parsePageId } from '@texonom/nutils'
import { AssetWrapper } from './components/asset-wrapper'
import { Checkbox as DefaultCheckbox } from './components/checkbox'
@@ -75,7 +75,22 @@ export interface PartialNotionContext {
const DefaultLink: React.FC = props =>
const DefaultLinkMemo = React.memo(DefaultLink)
-const DefaultPageLink: React.FC = props =>
+const DefaultPageLink: React.FC> = ({ href, ...props }) => {
+ const { recordMap, rootSpaceId } = useNotionContext()
+ let finalHref = href as string | undefined
+
+ if (typeof href === 'string' && rootSpaceId) {
+ const pageId = parsePageId(href)
+
+ if (pageId) {
+ const block = recordMap?.block?.[pageId]?.value
+
+ if (!block || block.space_id !== rootSpaceId) finalHref = `https://notion.so/${pageId.replace(/-/g, '')}`
+ }
+ }
+
+ return
+}
const DefaultPageLinkMemo = React.memo(DefaultPageLink)
const DefaultEmbed = props =>