Next.js,getInitialProps不起作用

时间:2018-01-25 14:47:11

标签: javascript next.js

首次在服务器站点呈现页面或刷新呈现的页面时,getInitialProps不起作用:

Home.getInitialProps = async ({store}) => {
    axios.post('/user').then(res => {
        var user = res.data;
        store.dispatch(setLoggingState(user));
    }, res => {
        console.log('4444');
    })
    return {};
}

在上面的代码中,服务器总是打印'4444',而express没有收到'POST'请求。坦克为你提供帮助

1 个答案:

答案 0 :(得分:1)

  1. 正如@Fabian Schultz所说,请求网址必须是绝对的 getInitialProps,因为相对网址无法在服务器端工作。
  2. getInitialProps方法应使用asyncawait,如下所示:

    Home.getInitialProps = async ({store}) => {
      await axios.post('/user').then(res => {
        var user = res.data;
        store.dispatch(setLoggingState(user));
      }, res => {
        console.log('4444');
      });
      return {};
    }