1

我正在使用 i18n,因此我的应用程序是多语言的。这似乎工作正常,除了当我测试应用程序时。

ProjectNavigation我渲染了一个在我的测试中命名的组件。该组件使用 useTranslation 挂钩来翻译我的项目导航栏中的一些单词。

import React from 'react';
import {
  render,
  screen,
} from '@testing-library/react';
import ProjectNavigation from '../pages/ProjectNavigation';

test('Checks to see if project navigation is rendered', () => {
  render(
    <React.Suspense fallback="Loading...">
      <ProjectNavigation useSuspense={false} />
    </React.Suspense>,
  );

  expect(screen.getByRole('navigation')).toBeVisible();
});

当我渲染悬念时,唯一加载的是回退,当前设置为“正在加载...”。

我在渲染时尝试过 useSuspense={false},但测试不会运行并且我收到此错误:

ProjectNavigation 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.

似乎该组件无法呈现,这就是它只显示回退的原因。任何人都知道如何处理无法渲染的组件?

4

0 回答 0