我正在使用 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.
似乎该组件无法呈现,这就是它只显示回退的原因。任何人都知道如何处理无法渲染的组件?