React使用路由跳转时控制台报Cannot update during an existing state transition (such as within render).Render methods should be a pure function of props and state.错误

这个错误是最近在使用this.props.history.replace()方法进行路由跳转,跳转之后,在控制台会产生这个错误,但对实际功能并没有影响。但是有着控制台不能有警告和错误的强迫症迫使我,仔细上网搜索了一下,发现了问题是:

因为history.push()将在render方法中引入副作用。在这种情况下,它会让 React Router 尝试开始更新 props 以反映新路径,这会触发您看到的错误。不要使用history.push(),而是使用 react-router-dom中的Redirect 。通过渲染 Redirect 组件,重定向发生在组件完成渲染之后,这意味着 React Router 所做的更新不会在渲染过程中发生。

//判断用户是否已经登录
if(!isLogin){//注释掉的是不使用Redirect时的代码,会报标题的错误 // this.props.history.replace('/login');// return null;//这里使用Redirect组件,错误消失return <Redirect to='/login'/>}else{}

React使用路由跳转时控制台报Cannot update during an existing state transition (such as within `render`)错误相关推荐

  1. react 警告Warning: Cannot update during an existing state transition (such as within `render`). Render

    react 报错Warning: Cannot update during an existing state transition (such as within `render`). Render ...

  2. react警告:setState(...): Cannot update during an existing state transition (such as within `render` or

    在使用react的时候,发现一个警告 Warning: setState(...):Cannot update during an existing state transition (such as ...

  3. react项目报出警告Warning: Cannot update during an existing state transition (such as within `render`).

    在一次写react项目中,报出如下警告,如图: 意思大概为:在一次改变state或者props值后,触发render()方法执行,重新渲染DOM的过程中,react不允许再有其他的state或者pro ...

  4. 报错:Cannot update during an existing state transition (such as within `render`).

    问题描述:在使用Form组件 为组件赋值时候 存在的warning 翻译: 在现有状态转换期间(例如在`render`中)无法更新.渲染方法应该纯粹是props和state的函数. 解决方式, 在us ...

  5. vue 项目 路由跳转时,ie报错 缺少')'

    vue 项目 路由跳转时,ie报错 缺少')' 报错信息 解决办法 报错信息 vue项目中使用了vue-echarts,项目启动后,在chrome上路由跳转没问题,但是在ie的控制台报"缺少 ...

  6. react实现路由跳转拦截功能(导航守卫)

    react实现路由跳转拦截功能(导航守卫) 背景 方法1:通过Prompt组件实现react路由跳转拦截功能 Prompt组件介绍 Prompt组件示例 自定义Prompt组件的提示弹窗 方法2:通过 ...

  7. 初学react实现路由跳转_如何使用React构建模因制作者:初学者指南

    初学react实现路由跳转 by Avanthika Meenakshi 通过Avanthika Meenakshi 如何使用React构建模因制作者:初学者指南 (How to build a me ...

  8. 路由跳转时的页面状态保存

    前言 我们在开发网页时,经常会遇到一种情况--在一个页面对页面初始状态进行了修改(如已请求到的数据.表单数据.滚动高度等等),跳转到另外一个页面之后再返回到原页面(路由回退),原页面需要保持原先的状态 ...

  9. 解决React中路由跳转报错:Cannot read property ‘push’ of undefined

    React中路由跳转报错: 页面在Router中配置了,但组件无法使用 this.props.history.push() 进行跳转,并且会出现报错:Cannot read property 'pus ...

最新文章

  1. yum 搭建 LNMP
  2. 【译】Everything You Need to Know About Decentralized AI
  3. iOS关于RunLoop和Timer
  4. AI 云原生浅谈:好未来 AI 中台实践
  5. 骑马与砍杀python代码_GitHub - yunwei1237/scottish-fold: 一个关于骑马与砍杀的剧本制作工具...
  6. MySQL查询语句转postGRE语句_PostgreSQL DBA常用SQL查询语句
  7. 车牌识别的matlab程序(程序_讲解_模板),车牌识别的matlab程序(程序讲解模板)
  8. CSS选择器的优先级计算
  9. L1-046 整除光棍 (20 分)
  10. matlab sprintf函数的用法
  11. 计算机中SQL中文,SQL是什么意思 sql的中文含义
  12. JS中的CommonJS和AMD
  13. 笑不死算你命大了 逗你开心的笑话
  14. EasyNVR流媒体直播之:零基础实现摄像头的全平台直播 (一)内网直播的实现
  15. QT起一个线程实时监测某个进程是否正常运行
  16. find()函数详解
  17. 5G发展的五大动力和四大挑战
  18. python按照日期筛选数据_pandas 按日期范围筛选数据的实现
  19. python列表元素筛选_Python如何筛选序列中的元素
  20. 浅谈2017棋牌游戏的前景 运营 推广(下) 转贴

热门文章

  1. 最大似然估计(极大似然估计)
  2. 浅谈WebAssmebly,在浏览器上进行图像处理
  3. 鸿蒙渊boss,全新世界boss:邪龙沉睡之境——神藏天(必掉天书·黄!)
  4. 中道,华夏文明很牛逼的
  5. 逃脱小屋,中国式离婚
  6. 访问共享文件夹,如何更换账号登录
  7. 全能免费杀毒软件——Avast及其MacOS下的卸载方法
  8. Windchill 基础知识
  9. 百度地图路书开发---增加路书销毁
  10. pythonw双击没反应快捷方式是ride_RIDE安装遇到的问题及解决方法