在 AddToCart.tsx 里引入 Robot.tsx 的 RobotProps,这样不是耦合了吗?
来源:4-9 【高阶组件HOC】withAddToCart()

qq_慕码人1032368
2023-01-08
如题。
而且,RobotDiscount.tsx 里面定义的RobotProps 和 Robot.tsx 的 RobotProps 现在是两个东西,为什么,withAddToCart(RobotDiscount) 这句不会报错
写回答
1回答
-
你说的没错,AddToCart.tsx在引用了RobotProps以后就对Robot.tsx形成了依赖,两个文件就耦合了,不过本节课只是为了说明HOC这种组件的使用方式,所以并没有太多的考虑解耦的问题。你思考的角度非得好,请继续课程,组建状态间的解耦在完成redux的部分就明白了。
至于你的第二个问题,为什么withAddToCart可以同时传入RobotDiscount与Robot。请留意withAddToCart的定义, 对于withAddToCart的参数来说,只要它是一个react组件,并且props满足RobotProps的定义就可以了。恰好RobotDiscount与Robot均满足上述要求,所以就不会报错了。
012023-03-11
相似问题