将 react-i18next 与 Suspense 一起使用。
我想使用 init 回调选项来运行axios 拦截器,以确保所有请求都添加正确的标头语言。
我的问题是 init 回调不会停止 Suspense 来渲染它的孩子。我认为从 init 返回一个承诺会起作用,但事实并非如此。
暂停悬念来解决可能吗?
我的代码:
i18n
.use(Backend)
.use(initReactI18next)
.init(
{
lng: 'en',
fallbackLng: 'en',
debug: true,
react: {
wait: true,
},
},
function callback() {
// this is the place where I want to halt Suspense until my logic is done
return new Promise((res, rej) => {
i18nInterceptor(i18n.language);
setTimeout(() => {
res();
}, 10000);
});
}
);
export default i18n;