Skip to content

Commit 7f3aa1f

Browse files
committed
fix ssr testing
1 parent b986c59 commit 7f3aa1f

File tree

4 files changed

+49
-3
lines changed

4 files changed

+49
-3
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use client';
2+
import * as React from 'react';
3+
import { DocumentContext } from 'radix-ui/internal';
4+
5+
export function Child() {
6+
const document = DocumentContext.useDocument();
7+
React.useEffect(() => {
8+
console.log(document);
9+
}, [document]);
10+
return <p>Open the console to see the document context.</p>;
11+
}
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import * as React from 'react';
22

3-
import * as DocumentContext from '@radix-ui/react-document-context';
3+
import { Parent } from './parent';
4+
import { Child } from './child';
45

56
export default function Page() {
6-
return <DocumentContext.DocumentProvider>Document Context</DocumentContext.DocumentProvider>;
7+
return (
8+
<Parent>
9+
<h1>Document Context</h1>
10+
<Child />
11+
</Parent>
12+
);
713
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
'use client';
2+
import * as React from 'react';
3+
import { DocumentContext } from 'radix-ui/internal';
4+
5+
export function Parent({ children }: { children: React.ReactNode }) {
6+
const [document, setDocument] = React.useState<Document | null>(null);
7+
React.useEffect(() => {
8+
console.log(document);
9+
}, [document]);
10+
return (
11+
<DocumentContext.DocumentProvider document={document}>
12+
{children}
13+
<div>
14+
<iframe
15+
onLoad={(event) => {
16+
const iframeDocument = event.currentTarget.contentDocument;
17+
setDocument(iframeDocument);
18+
}}
19+
title="Radix UI webiste"
20+
src="https://www.radix-ui.com"
21+
style={{
22+
width: '100%',
23+
height: '1000px',
24+
}}
25+
/>
26+
</div>
27+
</DocumentContext.DocumentProvider>
28+
);
29+
}

packages/react/document-context/src/document-context.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const DocumentContext = React.createContext<Document | null>(null);
66
DocumentContext.displayName = 'DocumentContext';
77

88
interface DocumentProviderProps {
9-
document: Document;
9+
document: Document | null;
1010
children: React.ReactNode;
1111
}
1212

0 commit comments

Comments
 (0)