知海

警告:react-dom/test-utils

React常见问题-错误与警告

警告:react-dom/test-utils

ReactDOMTestUtils.act() 弃用警告

来自 react-dom/test-utilsact 已被弃用,推荐使用来自 reactact

之前:

js 复制代码
import {act} from 'react-dom/test-utils';

之后:

js 复制代码
import {act} from 'react';

其余 ReactDOMTestUtils API

act 之外的所有 API 均已被移除。

React 团队建议你将测试迁移到 @testing-library/react,以获得现代且受良好支持的测试体验。

ReactDOMTestUtils.renderIntoDocument

renderIntoDocument 可以替换为来自 @testing-library/reactrender

之前:

js 复制代码
import {renderIntoDocument} from 'react-dom/test-utils';

renderIntoDocument(<Component />);

之后:

js 复制代码
import {render} from '@testing-library/react';

render(<Component />);

ReactDOMTestUtils.Simulate

Simulate 可以替换为来自 @testing-library/reactfireEvent

之前:

js 复制代码
import {Simulate} from 'react-dom/test-utils';

const element = document.querySelector('button');
Simulate.click(element);

之后:

js 复制代码
import {fireEvent} from '@testing-library/react';

const element = document.querySelector('button');
fireEvent.click(element);

请注意,fireEvent 会在元素上分发一个真实的事件,而不只是以合成方式调用事件处理函数。

所有已移除 API 的列表

  • mockComponent()
  • isElement()
  • isElementOfType()
  • isDOMComponent()
  • isCompositeComponent()
  • isCompositeComponentWithType()
  • findAllInRenderedTree()
  • scryRenderedDOMComponentsWithClass()
  • findRenderedDOMComponentWithClass()
  • scryRenderedDOMComponentsWithTag()
  • findRenderedDOMComponentWithTag()
  • scryRenderedComponentsWithType()
  • findRenderedComponentWithType()
  • renderIntoDocument
  • Simulate

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。