小编Ric*_*cky的帖子

React Router V6 - useNavigate() 只能在 <Router> 组件的上下文中使用

我已经安装了react-router-domV6。当我使用 Jest-Enzyme 运行非常基本的测试时,出现上述错误:

expect(shallow(<CustomerListTable customers={mockCustomers} />).length).toEqual(1);
Run Code Online (Sandbox Code Playgroud)

我已经遇到过这里提到的类似问题,但我已经在做提供的答案了。甚至尝试做import { BrowserRouter as Router } from "react-router-dom";. 我在这里缺少什么?

索引.js

import React, { Suspense } from "react";
import ReactDOM from "react-dom";
import App from "./App";
import { StrictMode } from "react";
import { BrowserRouter } from "react-router-dom";
...

ReactDOM.render(
  <StrictMode>
          ...
            <BrowserRouter>
              <AuthProvider>
                <App />
              </AuthProvider>
            </BrowserRouter>
          ...
  </StrictMode>,
  document.getElementById("root")
);
Run Code Online (Sandbox Code Playgroud)

应用程序.js

import React from "react";
import { useRoutes } from "react-router-dom";
import Routing from "./routes";
import useAuth from "./hooks/useAuth"; …
Run Code Online (Sandbox Code Playgroud)

reactjs jestjs react-router enzyme react-router-dom

10
推荐指数
2
解决办法
3万
查看次数

如何检测鼠标何时离开元素

当鼠标在元素上移动时,将触发 mousemove。如何检测鼠标何时移出元素?换句话说,除了片段中的 div 之外,页面上的任何位置。不是在鼠标离开时触发,而是在鼠标移出元素时触发。

const div = document.querySelector('div');

div.addEventListener('mousemove', function() {
    document.body.classList.add('mouse-moving');
 });
Run Code Online (Sandbox Code Playgroud)
div {
  height: 200px;
  width: 300px;
  background-color: red;
}
.mouse-moving {
  background-color: green;
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
2788
查看次数