请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

react中使用axios替代fetch遇到的问题

https://img1.sycdn.imooc.com/szimg/59e03f870001eb1205470241.jpg

https://img1.sycdn.imooc.com/szimg/59e03f870001e70105570600.jpg

https://img1.sycdn.imooc.com/szimg/59df3a90000134d004660217.jpg老师,react中使用axios来请求数据,在componentDidMount()时发起请求,在组件componentWillUnmount()时通过axios的cancelToken API来取消这次请求,这样会导致组件再次挂载的时候不会再发起原来的ajax请求了,是不是cancelToken会彻底取消请求呢?怎么让组件再次装载时继续发送原来的axios请求来请求数据呢?

正在回答 回答被采纳积分+3

1回答

Parry 2017-10-12 17:07:45

不是,组件再次挂载不会执行到你的生命周期函数中,你再看看生命周期的几个区别。

0 回复 有任何疑惑可以回复我~
  • 提问者 打不倒的小成c #1
    老师,我在控制台测试了一下,截图我贴了一下,在路由切换导致组件再装载的时候还是会执行DidMount函数
    回复 有任何疑惑可以回复我~ 2017-10-12 17:53:23
  • 提问者 打不倒的小成c #2
    didmount只在初始渲染的时候执行一次,可是这里为什么路由切换也再次执行了呢,按文档这个周期函数此时应该是不执行的
    回复 有任何疑惑可以回复我~ 2017-10-12 18:39:46
  • Parry 回复 提问者 打不倒的小成c #3
    单页面吗还是跳转进入了?现在的问题是日志执行了,但是里面的请求没有执行?
    回复 有任何疑惑可以回复我~ 2017-10-12 20:05:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信