react-i18next 获取错误尝试导入错误

IT技术 reactjs i18next react-i18next
2021-05-25 01:56:26

我尝试使用https://react.i18next.com/ 进行本地化,但出现错误:尝试导入错误:“initReactI18next”未从“react-i18next”导出。

这是我的 i18n.js 文件:

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';

import Backend from 'i18next-http-backend';
import LanguageDetector from 'i18next-browser-languagedetector';
// not like to use this?
// have a look at the Quick start guide 
// for passing in lng and translations on init

i18n
  // load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)
  // learn more: https://github.com/i18next/i18next-http-backend
  .use(Backend)
  // detect user language
  // learn more: https://github.com/i18next/i18next-browser-languageDetector
  .use(LanguageDetector)
  // pass the i18n instance to react-i18next.
  .use(initReactI18next)
  // init i18next
  // for all options read: https://www.i18next.com/overview/configuration-options
  .init({
    fallbackLng: 'en',
    debug: true,

    interpolation: {
      escapeValue: false, // not needed for react as it escapes by default
    }
  });


export default i18n;

我的 package.json

{ "name": "heatmann", "version": "0.1.0", "private": true,
"dependencies": { "axios": "^0.19.0", "i18next": "^19.4.5", "i18next-browser-languagedetector": "^4.3.0", "i18next-http-backend": "^1.0.15", "i18next-xhr-backend": "^3.2.2", "prop-types": "^15.7.2", "proptypes": "^1.1.0", "react": "^16.12.0", "react-alice-carousel": "^1.17.2", "react-dom": "^16.12.0", "react-i18next": "^9.0.10", "react -loader-spinner": "^3.1.5", "react-native-gesture-handler": "^1.5.2", "react-navigation": "^4.0.10", "react-navigation-stack" :"^1.10.3", "react-router-dom": "^5.1.2", "react-scripts": "^3.3.0" }, "scripts": { "start": "react-scripts start ", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": "react-app" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all"], "development": [ "last 1 chrome version", "last 1 firefox version", "最后 1 个 safari 版本"] }, "devDependencies":{ "@babel/plugin-proposal-export-default-from": "^7.8.3", "css-loader": "^3.4.2" } }

2个回答

已删除package.json条目i18next
删除了所有 node_modules 文件夹
重新安装npm install
npm install react-i18next i18next --save // 当想要检测用户语言并加载翻译时
npm install i18next-http-backend i18next-browser-languagedetector --save

这解决了我的问题。

npm install react-i18next i18next --save

或者

yarn add react-i18next i18next