You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

@testing-library/react-native 不存在导出成员waitForElement的问题求助

@testing-library/react-native 不存在导出成员waitForElement的问题求助

嗨,我来帮你解决这个问题!其实核心原因很简单——waitForElement这个API在新版的@testing-library/react-native里已经被移除了,它的功能完全被你已经导入的waitFor替代啦。

你之前看到的文档大概率是针对旧版本的,所以才会出现认知差异。现在只需要把代码里的waitForElement用法替换成waitFor就行,甚至可以把原本拆分的逻辑合并,让代码更简洁。

修改后的测试代码参考如下:

import React from 'react';

import { waitFor } from '@testing-library/react-native'; // 无需再导入waitForElement
import renderer from 'react-test-renderer';
import App from './App';

jest.useFakeTimers();

describe('App initialized', () => {
  it('has 1 child', async () => {
    // 用waitFor包裹组件渲染与断言逻辑,实现原本waitForElement的等待效果
    await waitFor(() => {
      const element = renderer.create(<App />).toJSON() as any;
      expect(element).not.toBeNull();
      expect(element.children.length).toBe(1);
    });
  });
});

补充说明下:从@testing-library/react-native v11版本开始,waitForElement就被官方废弃并移除了,官方推荐统一使用waitFor来处理所有异步等待场景,不管是等待元素出现、状态更新还是断言执行,waitFor都能胜任。

改成上面的写法后,不仅能解决“导出成员不存在”的报错,也能完美实现你原本想要的测试逻辑哦!

备注:内容来源于stack exchange,提问作者Fiddle Freak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:59:32