nextjs - getInitialProps 不工作吗?在动态路线中

我有个问题。使用 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;


千万里不及你
浏览 69回答 1
1回答

四季花海

getInitilProps在两种不同的环境中运行:服务器端,仅在第一页呈现客户端,当使用Link来自第一个渲染的组件进行导航时。在不同的环境中评估时,您的实现使用dynamicPost可能具有不同的值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript