在 v6 React 路由器中测试页面时“无法读取未定义的属性(读取'路径名')”

互联网 行业动态 更新时间:2024-06-13 00:19:32

jon*_*rpe 24

React Router v6 将历史分成多个部分,对于这个用例,相关部分是navigatorlocation。在Use useNavigateinstead ofuseHistory中暗示了这种变化,您可以在propsNavigator中使用的类型的定义中看到它:Router

export declare type Navigator = Omit<History, "action" | "location" | "back" | "forward" | "listen" | "block">;

只是更改history={history}navigator={history}仍然保留未定义的location道具,路由器试图从中访问pathname(以及其他属性)。要使测试再次工作,请按如下方式更新渲染:

const { render } = require("@testing-library/react");
const { createMemoryHistory } = require("history");
const React = require("react");
const { Router } = require("react-router-dom");

it("works", () => {
  const history = createMemoryHistory();
  render(
    <Router location={history.location} navigator={history}></Router>
  );
});

更多推荐

路由,路径,属性,器中,页面

本文发布于:2023-04-21 10:01:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/e0b1b94a58d3b468b335711edc226069.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:路由   路径   属性   器中   页面

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!