react-dom/test-utils弃用警告

待办事项:更新到19?

ReactDOMTestUtils.act() 警告

act 来自 react-dom/test-utils 已被弃用,建议使用来自 reactact

之前

import {act} from 'react-dom/test-utils';

之后

import {act} from 'react';

其余的ReactDOMTestUtils APIS

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

React团队建议您将测试迁移到@testing-library/react,以获得现代化且完善支持的测试体验。

ReactDOMTestUtils.renderIntoDocument

renderIntoDocument 可以替换为 render (来自 @testing-library/react)。

之前

import {renderIntoDocument} from 'react-dom/test-utils';

renderIntoDocument(<Component />);

之后

import {render} from '@testing-library/react';

render(<Component />);

ReactDOMTestUtils.Simulate

Simulate 可以替换为 fireEvent (来自 @testing-library/react)。

之前

import {Simulate} from 'react-dom/test-utils';

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

之后

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