簡體   English   中英

nextjs - getInitialProps 不工作嗎? 在動態路線中

[英]nextjs - Does not getInitialProps working? in dynamic routes

我有個問題。 使用 getInitialProps 函數,返回值沒有進入父組件。

但是,在 getInitialProps 函數中,我在 console.log 中看到了正確的值

實體代碼下方

import * as React from "react";
import {dynamicPost} from "../../store/dynamicPost";
import AppLayout from "../../components/AppLayout";
import {toJS} from 'mobx';
import {useRouter} from 'next/router'

const Post = ({post}) => {
  console.log("in Post, props ", post);    //  <<<<<<<<<<<   undefined. why?????
  const router = useRouter();
  const {id} = router.query;
  return (
    <AppLayout>
      <div>{id} article</div>
    </AppLayout>
  );
};

Post.getInitialProps = async ({res, query}) => {
  console.log("in Post, getIP, res  ;", res);
  console.log("in Post, getIP, query  ;", query);  // { id : 3 }
  await dynamicPost.eReactPostR(query.id);
  let post = await toJS(dynamicPost.eRPrender)
  console.log('in getinitialProps data;' , post);   // here, the value was that I want it
  return post;
};
export default Post;

getInitilProps在 2 個不同的環境中運行:

  1. 服務器端,只在第一頁渲染
  2. 客戶端,當從第一次渲染使用Link組件進行導航時。

您的實現使用dynamicPost在不同的環境中評估時可能具有不同的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM