ReactDOM.render 在 React 18 中不再支持

问题描述 投票:0回答:2

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

reactjs react-testing-library
2个回答
14
投票

不要使用“@testing-library/react-hooks”,而是使用“@testing-library/react”

import { renderHook, act } from "@testing-library/react";

0
投票

也许您需要做的就是更新

@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

我的案子就是这样解决的。

© www.soinside.com 2019 - 2024. All rights reserved.