在 AddToCart.tsx 里引入 Robot.tsx 的 RobotProps,这样不是耦合了吗?

来源:4-9 【高阶组件HOC】withAddToCart()

qq_慕码人1032368

2023-01-08

如题。

而且,RobotDiscount.tsx 里面定义的RobotProps 和 Robot.tsx 的 RobotProps 现在是两个东西,为什么,withAddToCart(RobotDiscount) 这句不会报错

写回答

1回答

阿莱克斯刘

2023-01-11

你说的没错,AddToCart.tsx在引用了RobotProps以后就对Robot.tsx形成了依赖,两个文件就耦合了,不过本节课只是为了说明HOC这种组件的使用方式,所以并没有太多的考虑解耦的问题。你思考的角度非得好,请继续课程,组建状态间的解耦在完成redux的部分就明白了。

至于你的第二个问题,为什么withAddToCart可以同时传入RobotDiscount与Robot。请留意withAddToCart的定义, 对于withAddToCart的参数来说,只要它是一个react组件,并且props满足RobotProps的定义就可以了。恰好RobotDiscount与Robot均满足上述要求,所以就不会报错了。

//img.mukewang.com/szimg/63be0d5d090350b314860810.jpg



0
1
qq_慕码人1032368
谢谢老师耐心解答。课程搁置好久,现在才看到老师的回复,惭愧,接下来会努力学习的。
2023-03-11
共1条回复

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

1993 学习 · 1015 问题

查看课程