getInitialProps不适用于异步功能

时间:2019-10-13 08:49:14

标签: javascript reactjs next.js next

我在此路径./pages/blog/[id]/[title].js中有文件,这是我编写的代码:

import React from 'react';
import PropTypes from 'prop-types';
import fetch from 'isomorphic-unfetch';
import BASE_URL from '../../../BaseURL';


const BlogSinglePage = props => {
  console.log(props.post);//undefined
  console.log(props);//{}
 return (
   <div></div>
 );
};

BlogSinglePage.propTypes = {
  post: PropTypes.object
};

BlogSinglePage.getInitialProps = async ({ query }) => {
    const res = await fetch(`${BASE_URL}/api/post/${query.id}`);
    const post = await res.json();
    return { post };
};

export default BlogSinglePage;

我的问题是,当getInitialProps是一个异步函数,BlogSinglePage's道具为空时,但是每当getInitialProps不是一个异步函数时,一切正常且道具也不为空。

我逐行遵循了Implement the Post Page中的代码,但是它对我不起作用。

1 个答案:

答案 0 :(得分:0)

我不知道为什么会出现这个问题,

但是我用 next-cli 重新安装了下一个 js,问题解决了 :)