微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 Suspense 的 i18n 未加载到 React 测试库中

如何解决带有 Suspense 的 i18n 未加载到 React 测试库中

我正在使用 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.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。