Reactjs Next.js&;Axios-将状态代码500从Axios请求转发到Next.js
如何将Axios请求中的状态码转发到next.js 错误对象是否需要通过axios promise使用者(Reactjs Next.js&;Axios-将状态代码500从Axios请求转发到Next.js,reactjs,axios,next.js,Reactjs,Axios,Next.js,如何将Axios请求中的状态码转发到next.js 错误对象是否需要通过axios promise使用者(.catch(error=>{…}))传递到next.js?如果是,如何进行?如果没有.catch消费者,我会得到服务器端错误未处理的PromisejectionWarning:error,Next.js不会自动捕获错误以抛出样式化的错误页面 通过将自定义组件添加到pages/_error.tsx,我还覆盖了next/error组件。 ()它以前在代码404下工作 import React,
.catch(error=>{…})
)传递到next.js?如果是,如何进行?如果没有.catch
消费者,我会得到服务器端错误未处理的PromisejectionWarning:error
,Next.js不会自动捕获错误以抛出样式化的错误页面
通过将自定义组件添加到pages/_error.tsx,我还覆盖了next/error组件。
()它以前在代码404下工作
import React, { ReactElement } from 'react'
import ErrorPage from '@templates/ErrorPage'
import { PageContext } from '@pages/_app'
interface Props {
statusCode: number
}
function Error({ statusCode }: Props): ReactElement {
return <ErrorPage />
}
Error.getInitialProps = ({ res, err }: PageContext) => {
const errorStatusCode = err ? err.statusCode : 404
const statusCode = res ? res.statusCode : errorStatusCode
return { statusCode }
}
export default Error
不知何故,Next.js的React错误边界没有捕获statuscode 500错误
将文档中的条目添加到500页:
500页
默认情况下,Next.js提供一个500错误页面,该页面与默认404页面的样式相匹配。此页面不是静态优化的,因为它允许报告服务器端错误。这就是为什么404和500(其他错误)是分开的
是的,我还尝试了一个内置的(产品)
有什么想法吗?提前谢谢你
import axios from 'axios'
export function request(requestObject) {
const { method, url, data } = requestObject
...
const requestData = { ... }
...
return axios({
url,
method,
data: method !== 'get' ? requestData : null,
params: method === 'get' ? requestData : null,
})
.then(res => {
...
return response
})
.catch(
(error: Error) =>
{
throw error
}
)
}