我正在使用 React-Testing-Library 中的
rerender
和 renderHook
。最近将 React 版本升级到 18,现在在其中一个测试用例中出现以下错误。
警告:ReactDOM.render 在 React 18 中不再支持。使用 改为创建根。在您切换到新的 API 之前,您的应用程序将 表现得就像正在运行 React 17 一样。了解更多信息: https://reactjs.org/link/switch-to-createroot
rerender();
renderHook(() => abc());
既然我没有使用
render
,为什么警告将 rerender
和 renderHook
指向 render
?
不要使用“@testing-library/react-hooks”,而是使用“@testing-library/react”
import { renderHook, act } from "@testing-library/react";
也许您需要做的就是更新
@testing-library
的版本。尝试以下方法,
npm i --save-dev @testing-library/react@latest
npm i --save-dev @testing-library/jest-dom@latest
npm i --save-dev @testing-library/user-event@latest
要明确的是,最好清空您的node_modules并重新安装所有内容。
rm -rf ./node_modules
npm i
我的案子就是这样解决的。