繁体   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