test
This commit is contained in:
@@ -14,4 +14,15 @@ export default function ClientApp() {
|
||||
: 'loading';
|
||||
|
||||
return <List version={version} />;
|
||||
}
|
||||
}
|
||||
|
||||
// 'use client';
|
||||
// // import List from './List.tsx';
|
||||
|
||||
// export default function ClientApp() {
|
||||
// const inner = typeof window !== 'undefined' && window.__SERVER_DATA__?.innerHtml
|
||||
// const cm = inner ? <div dangerouslySetInnerHTML={{ __html: inner }}></div> : null;
|
||||
// return <div>
|
||||
// {cm}
|
||||
// </div>
|
||||
// }
|
||||
@@ -3,10 +3,12 @@ import { useEffect } from "react";
|
||||
|
||||
export default function List({ version }: { version: string }) {
|
||||
useEffect(() => {
|
||||
console.log('useEffect in List');
|
||||
console.log('useEffect in List123');
|
||||
}, []);
|
||||
// <div>Timestamp: {timestamp ? new Date(timestamp).toLocaleTimeString('en-US') : 'N/A'}</div>
|
||||
return (
|
||||
<div>
|
||||
<div>sdf3</div>
|
||||
<h1>List - Version {version}</h1>
|
||||
<div style={{
|
||||
width: 200
|
||||
|
||||
@@ -1,6 +1,32 @@
|
||||
import List from './List.tsx';
|
||||
|
||||
type ServerData = {
|
||||
version: string;
|
||||
timestamp?: number;
|
||||
}
|
||||
// 模拟异步获取数据
|
||||
async function fetchServerData() {
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
return {
|
||||
version: '3.0.0',
|
||||
timestamp: Date.now(),
|
||||
innerHtml: '<div>Inner HTML Content</div>'
|
||||
};
|
||||
}
|
||||
export const createServerDataScript = (data: { version: string; timestamp: number }) => {
|
||||
return `<script>window.__SERVER_DATA__ = ${JSON.stringify(data)};</script>`;
|
||||
}
|
||||
|
||||
export const createRenderedJS = () => {
|
||||
return `
|
||||
<script>
|
||||
</script>
|
||||
`
|
||||
}
|
||||
export const getData = fetchServerData; // 导出数据获取函数,供 server-node.tsx 调用
|
||||
// Server Component - 通过 props 接收数据,不再自己 fetch
|
||||
export default async function ServerApp({ version }: { version: string }) {
|
||||
return <List version={version} />;
|
||||
}
|
||||
export default async function ServerApp(props: { data: ServerData }) {
|
||||
return <>
|
||||
<List version={props.data.version} />
|
||||
</>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user