update
This commit is contained in:
16
src/pages/a/List.tsx
Normal file
16
src/pages/a/List.tsx
Normal file
@@ -0,0 +1,16 @@
|
||||
"use client";
|
||||
import { useEffect } from "react";
|
||||
|
||||
export default function List({ version }: { version: string }) {
|
||||
useEffect(() => {
|
||||
console.log('useEffect in List');
|
||||
}, []);
|
||||
return (
|
||||
<div>
|
||||
<h1>List - Version {version}</h1>
|
||||
<div style={{
|
||||
width: 200
|
||||
}}>Primary Button</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
"use client";
|
||||
import { useEffect } from "react";
|
||||
|
||||
export default function List() {
|
||||
useEffect(() => {
|
||||
console.log('useEffect in List');
|
||||
}, []);
|
||||
return (
|
||||
<div>
|
||||
<h1>List 2</h1>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
18
src/pages/a/main.tsx
Normal file
18
src/pages/a/main.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
import List from './List.tsx';
|
||||
|
||||
// 模拟异步获取数据
|
||||
async function fetchData() {
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
return { version: '2.0.0', timestamp: Date.now() };
|
||||
}
|
||||
|
||||
// Server Component - 直接 await 获取数据
|
||||
export default async function ServerApp() {
|
||||
const data = await fetchData();
|
||||
return (
|
||||
<div>
|
||||
<h2>Server Time: {new Date(data.timestamp).toLocaleTimeString()}</h2>
|
||||
<List version={data.version} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
// Server component - no 'use client' directive
|
||||
export default function ServerList() {
|
||||
return (
|
||||
<div>
|
||||
<h1>Server List</h1>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,18 +1,12 @@
|
||||
'use server';
|
||||
import { useEffect } from "react";
|
||||
import A from '../List';
|
||||
|
||||
const getVersion = async () => {
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
return '1.0.0';
|
||||
return '2.0.0';
|
||||
}
|
||||
export default async function List() {
|
||||
|
||||
export default async function AServer() {
|
||||
const v = await getVersion();
|
||||
return (
|
||||
<div>
|
||||
<h1>List - Version {v}</h1>
|
||||
<div style={{
|
||||
width: 200
|
||||
}}>Primary Button</div>
|
||||
</div>
|
||||
);
|
||||
return <A version={v} />;
|
||||
}
|
||||
Reference in New Issue
Block a user