关于 componentwillreceiveprops 的问题

关于 componentwillreceiveprops 的问题

问题描述:

老师,现在 componentWillReceiveProps 已经不推荐使用了,官方文档推荐的集中替代方法对于我们初学者来说一时半会也不能完全弄明白,这个对于后面的找工作会有很大的影响吗?

我改用 componentDidUpdate 为什么一直发送请求,这个应该怎么写代码?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,解答如下:

1、componentWillReceiveProps支持到react17,而react的最新版本就是17,所以目前还能用,不会对找工作产生影响。

2、推荐做法是,把预计不再支持的生命周期函数的名字改名,即加上“UNSAFE_”前缀,比如componentWillReceiveProps要改成“UNSAFE_componentWillReceiveProps”。

3、componentDidUpdate会在组件将要更新时触发,不能使用该方法完成我们的效果。比如我们这里,如果换成componentDidUpdate,则会一直发送ajax请求:

http://img1.sycdn.imooc.com//climg/60d6c9e009789a1d08520282.jpg

4、目前无法使用当前学过的知识点,解决该问题,只能沿用componentWillReceiveProps或UNSAFE_componentWillReceiveProps。

祝学习愉快!

  • 龙同學 提问者 #1

    我试着在前面加过 UNSAFE_前缀  但警告不建议在严格模式下使用

    2021-06-26 17:31:17
  • 好帮手慕久久 回复 提问者 龙同學 #2

    同学你好,是有如下警告吗?

    http://img1.sycdn.imooc.com//climg/60d6f90d09e257cc13420249.jpg

    如果是的话,建议把严格模式去掉:

    http://img1.sycdn.imooc.com//climg/60d6f94109653bd906690244.jpg

    我们不需要使用严格模式开发。

    如果不是,建议同学测试一下,看下警告是否影响页面运行,如果不影响,那就不用处理,忽略即可。

    祝学习愉快!

    2021-06-26 17:55:38
  • 龙同學 提问者 回复 好帮手慕久久 #3

    可以了,谢谢老师

    2021-06-26 18:14:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师