首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >i18n错误(错误:您正在传递一个未定义的模块!请检查要传递给i18next.use()的对象

i18n错误(错误:您正在传递一个未定义的模块!请检查要传递给i18next.use()的对象
EN

Stack Overflow用户
提问于 2020-07-11 20:39:42
回答 1查看 3.7K关注 0票数 4

我正在尝试在我的Gatsby项目中设置i18n。

我一直在一步一步地遵循这个教程:

https://www.gatsbyjs.org/blog/2017-10-17-building-i18n-with-gatsby/

首先,我下载所需的包:

代码语言:javascript
复制
npm i -S i18next i18next-xhr-backend i18next-browser-languagedetector react-i18next

然后,我设置了i18n组件

代码语言:javascript
复制
import i18n from "i18next"
import Backend from "i18next-xhr-backend"
import LanguageDetector from "i18next-browser-languagedetector"
import { reactI18nextModule } from "react-i18next"

i18n
.use(Backend)
.use(LanguageDetector)
.use(reactI18nextModule)
.init({
    fallbackLng: "en",

    // have a common namespace used around the full app
    ns: ["translations"],
    defaultNS: "translations",

    debug: true,

    interpolation: {
    escapeValue: false, // not needed for react!!
    },

    react: {
    wait: true,
    },
})

export default i18n

在我的布局组件中导入:

代码语言:javascript
复制
import React from "react"
import "./layout.scss"
import NavMenu from "./NavMenu/navMenu"
import i18n from './i18n/i18n'

export default function Layout({ children }) {
  return (
    <div className="container">
      <NavMenu />
      {children}
    </div>
  )
}

然而,当我运行我的应用程序时,我得到了以下错误:

有谁知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-12 21:09:04

react-i18next导入错误。它应该是

import { initReactI18next } from "react-i18next"

.use(initReactI18next)

如果您尝试导入未导出的内容,则该值未定义,然后use会给出您所看到的消息。

它似乎在react-i18next的早期版本中被称为reactI18nextModule,这就是为什么你可以找到使用它的教程。

我做了一个demonstration of the exports in RunKit

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62849265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档