概述
React使用axios的坑:每次都要请求两次,而且前后端相同配置
项目:react-antd-axios
接口会调用两次,但是页面中并没有写调用两次的方法,componentDidMount中值调用了一次,反复查看没有问题,axios中封装的api也没有出现问题。
我的项目解决:
在包裹着content的路由页面,也就是主页面中componentDidMount写了方法,但是并没有调用api
componentDidMount() {
this.getPath();
}
getPath() {
// 获取当前路径
const pathname = this.props.location.pathname;
//获取当前所在的目录层级
const rank = pathname.split("/");
//rank = ["","policy-engine","nas-client"]
console.log(rank);
switch (rank.length) {
case 2: //一级目录
this.setState({
selectedKeys: [pathname]
});
break;
case 3: //二级目录,要展开一个subMenu
this.setState({
selectedKeys: [pathname],
openKeys: [rank.slice(0, 2).join("/")]
});
break;
case 4: //三级目录,要展开两个subMenu
this.setState({
selectedKeys: [pathname],
openKeys: [rank.slice(0, 2).join("/"), rank.slice(0, 3).join("/")]
});
break;
}
}
主要是
componentDidMount() {
this.getPath();
}这一部分写了调用函数
解决方法
componentWillMount() {
this.getPath();
}
写在componentWillMount就能解决。
注意:这个只是我的项目问题,仅供参考;其他问题看查看
最后
以上就是欢喜灰狼为你收集整理的react 把前后台的axios请求放在一起_React使用axios的坑:每次都要请求两次,而且前后端相同配置...的全部内容,希望文章能够帮你解决react 把前后台的axios请求放在一起_React使用axios的坑:每次都要请求两次,而且前后端相同配置...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复