当页面第一次在服务器站点上呈现或刷新呈现的页面时,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”请求。坦克为您提供帮助

最佳答案

  • 正如@Fabian Schultz所说,请求url在getInitialProps,因为相对网址无法在服务器端运行。
  • 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 {};
    }
    
  • 关于javascript - Next.js,getInitialProps不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48445609/

    10-11 12:26