我的错误边界使用 i18next 中的 useTranslation 钩子捕获了错误。由于该错误边界,我无法获得正确的错误文本。刚刚收到“以上错误发生在...”之类的文字。你能告诉我为什么会这样吗?
这条线的问题:
const {t} = useTranslation();
i18 配置:
import i18next from "i18next";
import {initReactI18next} from "react-i18next";
import HttpApi from "i18next-http-backend";
import LanguageDetector from "i18next-browser-languagedetector";
export const ns = ["translation", "notification", "form", "modal", "table", "plans"];
i18next
.use(initReactI18next)
.use(HttpApi)
.use(LanguageDetector)
.init({
supportedLngs: ["en", "ru"],
fallbackLng: "en",
nonExplicitSupportedLngs: false,
cleanCode: true,
ns: ns,
debug: process.env.NODE_ENV === "development",
interpolation: {
format: function (value, format) {
if (format === "uppercase") return value.toUpperCase();
if (format === "lowercase") return value.toLowerCase();
}
}
});
export default i18next;
我在错误边界中使用了 useTranslation,但是,删除它不是解决方案。