背景

使用react做路由跳转,link标签适用于点击跳转,但是涉及到不是点击元素的跳转,这时候一般是使用history.push完成。但是第一次使用react17版本,react-router-dom没有导出useHistory,离谱了,查了发现现在17版本使用的是useNavigate,但是我直接使用useNavigate()就报错。

错误

useNavigate() may be used only in the context of a component

解决

查询发现useNavigate需要在BrowserRouter(也是17版本的?之前记得是Router,公司项目都用不上这些玩意,框架都封装好的)子孙元素中使用才行。然后发现我本来就是这么使用的。又一个离谱,排查很久发现是需要将调用的useNavigate的hooks单独写成组件,也就是说BrowserRouter和useNavigate不能在一个组件中出现。将BrowserRouter放在最外层组件或者用到useNavigate的地方单独抽成一个组件写。

useNavigate使用报错相关推荐

  1. git使用报错:fatal: Couldn't find remote ref master的解决方法

    git使用报错:fatal: Couldn't find remote ref master的解决方法 fatal: Couldn't find remote ref master 翻译过来就是:致命 ...

  2. 记录webpack使用问题,使用报错“UnhandledPromiseRejectionWarning,file-loader图片过大,无法加载图片,打包html文件报错TypeError

    记录webpack使用报错 版本号问题 运行npm run build,报错 "UnhandledPromiseRejectionWarning: TypeError: this.getRe ...

  3. Assets.car 解压工具 cartool 使用报错 segmentation fault cartool 解决方案

    Assets.car 解压工具 cartool 使用报错 segmentation fault cartool 解决方案 参考文章: (1)Assets.car 解压工具 cartool 使用报错 s ...

  4. “this”不能在常量表达式中使用报错的解决方法

    "this"不能在常量表达式中使用报错的解决方法 问题描述与思考 在用C++书写下面一段代码时,编译器报错"'this'不能在常量表达式中使用".在这里,我最开 ...

  5. CentOS系统yum源使用报错:Error: Cannot retrieve repository metadata

    服务器上的yum突然不好使用,使用yum的时候报错如下: [root@bastion-IDC src]# yum list ...... Could not retrieve mirrorlist h ...

  6. Python安装xlrd和xlwt的步骤以及使用报错的解决方法

    Python安装xlrd和xlwt的步骤以及使用报错的解决方法 参考文章: (1)Python安装xlrd和xlwt的步骤以及使用报错的解决方法 (2)https://www.cnblogs.com/ ...

  7. git使用报错: fatal: Couldn‘t find remote ref master的解决方法

    git使用报错: fatal: Couldn't find remote ref master的解决方法 参考文章: (1)git使用报错: fatal: Couldn't find remote r ...

  8. cnpm使用报错-最佳方案

    问题:cnpm使用报错throw err;^Error: Cannot find module 'fs/promises 现象: 解决方案: 查看你的cnpm的版本是不是高于8.2.0 cnpm 8. ...

  9. git使用报错:fatal: Couldn‘t find remote ref master的解决方法

    git使用报错:fatal: Couldn't find remote ref master的解决方法 参考文章: (1)git使用报错:fatal: Couldn't find remote ref ...

最新文章

  1. 算法(Algorithms)第4版 练习 1.3.11
  2. linux下vim命令详解
  3. Mysql:Mysql数据库系统表之详细了解INNODB_TRX、INNODB_LOCKs、INNODB_LOCK_waits、PROCESSLIST表
  4. 看完这一系列,彻底搞懂 Gradle
  5. Oracle复杂查询
  6. 【转】75个最佳Web设计资源
  7. 可靠消息服务在支付领域的应用
  8. 《C++沉思录》——类设计核查表、代理类、句柄类
  9. 建站系统创业项目综合测评:ePower、云优CMS、微加互联、微企点
  10. 用友商贸宝问题解答一
  11. 编程方式实现Excel转为JPG/PDF等格式
  12. Programmers at Work
  13. Jackson ImmunoResearch 蛋白质印迹指南丨膜清洗
  14. 《三国演义》之二 十常侍乱政
  15. C语言改错题系列整理-非常容易0x1
  16. 浙大教务网登录验证码自动填充--chrome插件开发
  17. 自制APP连接OneNET---实现数据监控和下发控制(MQTT)
  18. 批量查询UPS快递物流的最简单方法
  19. 使用JS代码简单实现九九乘法表
  20. RDP远程桌面密码凭证获取

热门文章

  1. 微信怎样将图片上的文字变成文档
  2. RK3399平台开发系列讲解(其他篇)1.18、瑞芯微 RK3288 芯片介绍
  3. htonl,htons,ntohl,ntohs的详解
  4. edittextview 取消下划线
  5. 网络安全行业岗位-漏洞挖掘工程师
  6. 花指令的原理、常用花指令收集及花指令示例
  7. 【译】将字符转换为双精度浮点型
  8. DDD第3篇 - 事件风暴
  9. 考试管理系统-刷题系统案题目选项编写
  10. web服务器也是端系统么,Web服务器和游戏服务器的那些事儿