Ошибка: I18nextWithTranslation приостановлено во время рендеринга, но не указан резервный интерфейс - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь заставить I18N работать с использованием response-i18next.Я следую инструкциям здесь как можно ближе.Я пытался в течение нескольких часов с большим количеством гуглить вокруг и еще не обнаружил, что я делаю неправильно.Любая помощь приветствуется.

Я получаю эту трассировку стека ошибок:

    Exception has occurred: Error
Error: I18nextWithTranslation suspended while rendering, but no fallback UI was specified.

Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.
    in I18nextWithTranslation (created by App)
    in App
    in Router (created by BrowserRouter)
    in BrowserRouter
    in CookiesProvider
    at throwException (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:45969:13)
    at renderRoot (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:47147:11)
    at performWorkOnRoot (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:48000:7)
    at performWork (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:47912:7)
    at performSyncWork (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:47886:3)
    at requestWork (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:47755:5)
    at scheduleWork (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:47569:5)
    at scheduleRootUpdate (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:48230:3)
    at updateContainerAtExpirationTime (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:48258:10)
    at updateContainer (https://localhost:3000/cgadmin-react-primeng/dist/bundle.js:48315:10)

У меня есть Suspense с откатом на самом верхнем уровне:

import React, { Suspense } from 'react';
import ReactDOM from "react-dom";
import { CookiesProvider } from 'react-cookie';
import App from "./App.js";
import { BrowserRouter } from "react-router-dom";
// import i18n (needs to be bundled ;)) 
import './i18n';

ReactDOM.render(
  <CookiesProvider>
    <BrowserRouter basename="/cgadmin-react-primeng/">
      <Suspense fallback={<Loader />}>
        <App />
      </Suspense>
    </BrowserRouter>
  </CookiesProvider>, 
  document.getElementById("root")
);

const Loader = () => (
  <div>loading...</div>
);

IЯ не использую хуки, а HOC, рекомендованный для использования с классами класса App, например:

export default withTranslation()(App);

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Просто дикая догадка, может ли это быть из-за того, что вы определяете Loader после , который вы используете?

0 голосов
/ 02 марта 2019

Можете ли вы привести более конкретный пример ситуации с ошибкой?Я стараюсь изо всех сил симулировать в песочнице (https://codesandbox.io/s/10j2xw6j3),, но я не могу воспроизвести случай.

ps Это должно быть добавлено в комментарии, но stackoverflow мешает новым пользователям делать это. Поэтому я публикуюздесь и редактируем позже

...