在页面级组件上声明namespacesRequired数组

问题描述

我有一个基于next的项目,并使用i18next包进行了反应,我遇到以下警告,我认为这是为什么根据react profiler加载i18n需要花费大量时间的原因:

您尚未在页面级上声明namespacesrequired数组 组件:withI18nextTranslation(Error)。这将导致所有 命名空间要向下发送给客户端 影响您应用的性能。有关更多信息,请参见: https://github.com/isaachinman/next-i18next#4-declaring-namespace-dependencies

notes:翻译工作正常,我在除404之外的所有组件中都声明了namespacesrequired

这是我的i18n配置:

const NextI18Next = require('next-i18next').default
const { localeSubpaths } = require('next/config').default().publicRuntimeConfig
const path = require('path');

module.exports = new NextI18Next({
    preload: ['fa'],defaultLanguage: 'fa',otherLanguages: ['en','ar'],localeSubpaths,localePath: path.resolve('./public/static/locales'),localeStructure: '{{lng}}/{{ns}}',fallbackLng: 'fa',ignoreRoutes:['/_next/','/static/','/public/','/api/'],serverLanguageDetection: false,defaultNS: 'common',localeExtension: 'json'
});

next.config.js:

const { nextI18NextRewrites } = require('next-i18next/rewrites');

rewrites: async () => nextI18NextRewrites(localeSubpaths),publicRuntimeConfig: {
               localeSubpaths
          }

版本:
package.json:

"i18next": "^19.7.0"

纱线:

    next-i18next@^6.0.2:
  version "6.0.2"
  dependencies:
    "@types/express" "^4.16.1"
    core-js "^3"
    hoist-non-react-statics "^3.2.0"
    i18next "^19.6.3"
    i18next-browser-languagedetector "^5.0.0"
    i18next-fs-backend "^1.0.7"
    i18next-http-backend "^1.0.17"
    i18next-http-middleware "^3.0.2"
    path-match "^1.2.4"
    prop-types "^15.6.2"
    react-i18next "^11.7.0"
    url "^0.11.0"

在server.js文件中与此无关。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...