import { useEffect } from "react";
import type { AppProps } from "next/app";
import Script from "next/script";
import { SWRConfig } from "swr";
import { useRouter } from "next/router"
import { AppContext } from "@context/index";
import { NextIntlProvider } from 'next-intl'
function MyApp({ Component, pageProps }: AppProps) {
<SWRConfig
value={{
onErrorRetry: (error: any) => {
// Never retry on 401.
if (error.status === 401) return;
},
errorRetryCount: 2,
}}
>
<>
<NextIntlProvider messages={pageProps.messages}>
<AppContext>
<div>
<Component {...pageProps} />
</div>
</AppContext>
</NextIntlProvider>
</>
</SWRConfig>
);
}
export default MyApp;
我得到代码:'MISSING_MESSAGE',originalMessage:'No messages were configured on the provider.'错误即使在遵循Next-intl的文档之后,它也会说message is not configured。我已经在_app.tsx文件页文件夹中配置了该消息。请指导我解决这个问题。
2条答案
按热度按时间htzpubme1#
然后,您必须在页面文件的
getStaticProps
中配置它:You can refer from this link!o3imoua42#
如果其他人也有这个问题,并且没有任何工作,在我的情况下,我正在渲染一个导航栏,其中包含来自_app.tsx的翻译消息,Next.js将其渲染到默认的404和500错误处理程序中,并从那里抛出错误。解决方案是制作这些自定义错误页面并从
getStaticProps
加载翻译。