【发布时间】:2022-01-02 23:29:47
【问题描述】:
const LoadingPage = ({merchantId, order}) => {
const router = useRouter();
useEffect(() => {
if (order.status === "merchantAccepted") {
router.push(`/${merchantId}/success`);
}
}, []);
return (
<Column>
Waiting merchant to accept...
</Column>
);
};
export default LoadingPage;
export const getServerSideProps = async (ctx) => {
const {params} = ctx;
const {merchantId} = params;
const merchant = await getMerchant(merchantId);
const order = await getOrders("");
return {
props: {
merchantId,
merchant: merchant,
order
}
};
};
我正在尝试做的是等待商家接受更改数据库中订单状态的订单。然后我想获取将用于将用户重定向到另一个页面的状态。目前我正在使用 getServerSideProps 但此方法只获取一次,我需要刷新页面。如何在不刷新页面的情况下进行 API 调用?
谢谢。
【问题讨论】:
-
很容易实现,如果你使用apollo客户端,你有没有机会唱它?
-
不,我不是。我正在尝试使用 useEffect 但这似乎不起作用。或者也许我不知道如何正确地写它。我是新手。
-
SSR 只会触发一次你的 getServerSideProps,这是正确的行为。
标签: reactjs react-hooks next.js use-effect