老师,不太理解这里接口的实现原理

老师,不太理解这里接口的实现原理


相关截图:

618d348428ca33e105001000.jpg

问题描述:
如果说withRouter接受的函数的参数必须符合RouteComponentProps这个接口,那为什么PropsType继承这个接口,并在此基础上添加了额外的属性也能符合条件呢?

正在回答

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

2回答

同学你好,老师的理解可能是插件内部的设置。看插件代码,在withRouter函数中,除了继承RouteComponentProps,还继承了ComponentType组件类型,比如我们自定义的,这两个同时作为类型使用

https://img1.sycdn.imooc.com//climg/618e177509d291c211640120.jpg

所以没问题,可能单纯的ts不好模拟,了解下即可。

  • __Promise 提问者 #1

    看源码发现这个接口类型还挺复杂的,谢谢老师

    2021-11-12 15:44:06
好帮手慕星星 2021-11-12 11:05:53

同学你好,RouteComponentProps 是组件通过props继承方式 获取 history/ location/ match/ staticContext这些属性,同时也可以进行路由参数的传递。

继承后可以自定义额外的属性,继承了就可以。祝学习愉快!

  • 提问者 __Promise #1

    请教老师,我知道这个接口的用法和实现效果,

    就是不知道这个接口是咋设计的,

    为什么继承后再自定义属性也能符合呢

    https://img1.sycdn.imooc.com//climg/618dfa8b09b6ed8805800415.jpg

    因为我试着模仿了一下,发现不行

    2021-11-12 13:27:51
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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