You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Router Dom v6 Link组件在React Testing Library中出现createHref报错

解决React Router Dom v6 Link组件测试时"Cannot read properties of undefined (reading 'createHref')"错误

以下是排查和解决步骤:

  • 检查Link组件的导入
    确保在MyComponent.jsx中,Link是从react-router-dom正确导入的,不要误引入其他库的Link组件:

    // MyComponent.jsx
    import { Link } from 'react-router-dom';
    
  • 确认测试文件中BrowserRouter的导入
    测试代码里的BrowserRouter必须同样来自react-router-dom,避免导入错误:

    // MyComponent.test.jsx
    import { render } from '@testing-library/react';
    import { BrowserRouter } from 'react-router-dom';
    import MyComponent from './MyComponent';
    
    test('渲染Link组件', () => {
      render(
        <BrowserRouter>
          <MyComponent />
        </BrowserRouter>
      );
      // 执行测试断言
    });
    
  • 验证依赖版本兼容性
    React Router Dom v6要求React版本至少为16.8(支持Hook),同时确保@testing-library/react版本与当前React版本兼容。查看package.json中的依赖项,若版本不匹配,执行更新:

    npm install react-router-dom@latest react@latest @testing-library/react@latest
    
  • 排除上下文冲突
    若测试文件中存在其他路由相关的上下文或高阶组件,确保它们不会覆盖BrowserRouter提供的路由上下文,保证MyComponent完全处于BrowserRouter的包裹范围内。

内容的提问来源于stack exchange,提问作者Syed Ali Abbas Zaidi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 08:25:19