在Next.jsv13.4.12中,我有一个值为app\page.tsx
的组件,其中包含一个按钮.当我点击它时,我想让它调用handleClick
函数.
但是函数getInitialProps
没有被调用,也没有向Page组件发送props ,我该怎么办?
事实上,我希望当页面第一次呈现时,即使我们没有点击按钮,数据也会呈现在页面上.
'use client'
import { useState } from 'React';
export default function Page({ initialData }) {
const [data, setData] = useState(initialData);
const fetchData = async () => {
const req = await fetch('https://randomuser.me/api/?gender=male&results=100');
const newData = await req.json();
return setData(newData.results);
};
const handleClick = (event) => {
event.preventDefault();
fetchData();
};
return (
<Layout>
<button onClick={handleClick}>FETCH DATA</button>
{data.map((user) => {
return (
<div>
{user.email}
<img src={user.picture.medium} alt="" />
</div>
);
})}
</Layout>
);
}
Page.getInitialProps = async () => {
const req = await fetch('https://randomuser.me/api/?gender=female&results=10');
const data = await req.json();
return { initialData: data.results };
};