思路是:保存查询请求的数据
第一步:设置标记变量
markType标记是否是返回来的数据且切换数据,为0,分页没有切换数据,为其它,则调用table切换方法,使用原始result,不再使用传过来的result
第二步:设置参数
第三步:在跳转到页面设置返回按钮,获取参数,在跳回去,设置state
参考链接:
https://blog.zenfery.cc/hexo/articles/react-router-4-goback.html
React Router 4.x 页面(路由)回退, 状态记忆功能跳转到另外一个页面,返回保持页面状态和跳转前数据一致,思路是:保存查询请求的数据第一步:设置标记变量markType标记是否是返回来的数据且切换数据,为0,分页没有切换数据,为其它,则调用table切换方法,使用原始result,不再使用传过来的result第二步:设置参数第三步:在跳转到页面设置返回...
在使用ant Designd的 form 组件时发现点击提交方法中 this.
pro
ps
.form.validateFields((err, values) => {}) 部分未执行,也没有报错。
我使用了自定义校验 validator ,在自定义校验方法中有个错误,使用了未定义的变量。
1、使用validator 时,注意自定义方法中是否有错误;对于如何解决没有错误提示,官网提示:可以选择通过 async
返回
一个
pro
mise 或者使用 try…catch进行错误捕获,具体查看官网form组件;
2、使用validator 时,自定义方法中 callback 必须被调用。
单页Web应用(Single Page Application)
整个应用只有
一个
完整的
页面
简单来讲就是只有
一个
html文件,比如
React
脚手架搭建后只有
一个
放在public文件夹的index.html
点击
页面
中的链接只
会
做部分
界面
的更新。
数据都需要通过ajax请求获取,并在前端异步更新
路由的理解
可以理解在
页面
组织过程中,以路径作为键,以组件作为值得映射过程。
什么是路由
一个
路由就是
一个
映射关系
react
通过
pro
ps
.
history
跳转
页面
,
页面
不更新的解决方案
react
引入
react
-router-dom,通过
pro
ps
.
history
跳转
页面
,url发生了变化,但
页面
没有更新(常出现情况:主路径不变、查询字符串改变)。这种情况我们可以通过以下办法解决
如果是class组件,可以通过shouldComponmentUpdate将
页面
重新渲染
如果是class组件,可以通过componentWillReceive
Pro
ps
将
页面
重新渲染
如果是函数式组件,可以通过useMemo模拟shoul
背景:
react
umi框架,约定式路由,
history
.type = hash。
场景:空白的浏览器路径输入 -- localhost:8000/#/font 通过font
页面
里逻辑跳转到http://localhost:8000/#/home localhost:8000/#/home
页面
,然后在home
页面
点击
history
.goBack()的时候,奇奇怪怪的
问题
出现了。。 奶奶个腿居然给我退到了空白
页面
。。我要的是
返回
font
页面
呀!
20220414103257
1.原因由于
react
-router移除了
history
对象。也同时移除了的路由组件收到的三个参数
history
,match,location
解决方法【此方法只能在函数组件中使用】
//导入 useNavigate
import { useNavigate } from "
react
-router-dom";
const navigate = useNavigate()
//然后在里面函数里面调用即可
navigate('/admin')
ps
:这是本人的解决方法,可能
会
对您的
问题
不管用,如果
接上篇:
问题
:如果使用 this.
pro
ps
.
history
.push('/searchs') ,它是有
问题
的,导致不能跳转,因为没有
pro
ps
,需要使用withRouter为这个对象添加
history
这个对象方可使用这个
问题
的解决方案就是:/*
* 创建时间: 2019-09-19 14:42
* 作者:南宫伯赏
* 功能: 针对搜索功能的NavBar
import * as Reac...
TypeError:Cannot read
pro
perty 'goBack' of undefined
或者TypeError:Cannot read
pro
perty 'push' of undefined等
原因:在
React
中,一般组件没有
history
等方法,因为一般组件没有传值,
pro
ps
收到的是
一个
空对象,只有路由组件中才有
解决方法:使用withRouter,withRouter是专门解决一般组件中使用路由组件中的API的情况
在一般组件中引入import {withRouter} fro
1. 没有在组件中使用 `withRouter` 高阶组件包装,导致 `this.
pro
ps
.
history
` 不存在。
2. 在函数组件中使用 `this.
pro
ps
.
history
.push`,应该使用 `use
History
` hook。
3. 在 `BrowserRouter` 组件外部使用 `this.
pro
ps
.
history
.push`,应该使用 `BrowserRouter` 包装整个应用程序。
4. `this.
pro
ps
.
history
.push` 的路径不正确,应该检查路径是否正确。
希望以上信息能够帮助您解决
问题
。