我在next.js应用程序的next-intl npm包中收到MISSING_MESSAGE错误

mkshixfv  于 2023-05-17  发布在  其他
关注(0)|答案(2)|浏览(166)
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文件页文件夹中配置了该消息。请指导我解决这个问题。

htzpubme

htzpubme1#

然后,您必须在页面文件的getStaticProps中配置它:You can refer from this link!

o3imoua4

o3imoua42#

如果其他人也有这个问题,并且没有任何工作,在我的情况下,我正在渲染一个导航栏,其中包含来自_app.tsx的翻译消息,Next.js将其渲染到默认的404和500错误处理程序中,并从那里抛出错误。解决方案是制作这些自定义错误页面并从getStaticProps加载翻译。

相关问题