如何解决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,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种不同的环境中运行:
- 服务器端,仅在第一页呈现
- 客户端,在第一个渲染中使用
Link
组件进行导航时。
您的实现使用dynamicPost
,当在不同的环境中进行评估时,它们可能具有不同的值
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。