运行时npm test我收到以下错误:
Cannot find module 'react-dom/client' from 'node_modules/@testing-library/react/dist/pure.js'
Required stack:
node_modules/@testing-library/react/dist/pure.js
node_modules/@testing-library/react/dist/index.js
Run Code Online (Sandbox Code Playgroud)
所有必需的软件包似乎都已安装。我重新安装了react-dom,但没有帮助。下面提供了我的测试文件中使用的导入:
import React from "react";
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import '@testing-library/jest-dom';
Run Code Online (Sandbox Code Playgroud)
另外提供我的package.json:
{
"name": "fe",
"version": "0.1.0",
"private": true,
"dependencies": {
"@fontsource/roboto": "^4.5.3",
"@material-ui/core": "^4.12.3",
"@material-ui/icons": "^4.11.2",
"@mui/icons-material": "^5.5.0",
"@mui/material": "5.5.3",
"@mui/styles": "^5.5.1",
"@reduxjs/toolkit": "^1.8.0",
"@testing-library/jest-dom": "5.16.3",
"@testing-library/react": "13.0.0",
"@testing-library/user-event": "14.0.4",
"axios": "^0.26.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-hook-form": "^7.28.1",
"react-redux": "^7.2.6",
"react-router-dom": "^6.2.2",
"react-scripts": "5.0.0", …Run Code Online (Sandbox Code Playgroud) 您能帮我理解为什么活跃风格始终处于活跃状态吗?我有“react-router-dom”:“^6.1.1”。我尝试了不同的方法来应用这种风格,就像在反应路由器文档中编写的那样,但我仍然找不到错误,为什么会这样。
import { NavLink } from "react-router-dom";
import s from "../Sidebar/Sidebar.module.css";
function Sidebar() {
return (
<div className={s.Sidebar}>
<NavLink
to="/profile"
style={(isActive) => ({ color: isActive ? "green" : "blue" })}
className={s.navItems}
>
Profile
</NavLink>
<NavLink
to="/messages"
style={(isActive) => ({ color: isActive ? "green" : "blue" })}
className={s.navItems}
>
Messages
</NavLink>
<br />
</div>
);
}
export default Sidebar;
Run Code Online (Sandbox Code Playgroud)
.navItems{
display: flex;
text-decoration: none;
font-size: 26px;
padding-bottom: 8px;
}
[1]: https://i.stack.imgur.com/cCsBw.png
Run Code Online (Sandbox Code Playgroud)