我遇到有关高阶组件和流类型的问题。
具体来说,我们有一个具有必需道具的组件-我们称之为requiredProp
。
当我们使用高阶组件(HOC)来包装此组件时,我们希望被包装的组件保留requiredProp
的“需求”。
我们在3个HOC上测试了此行为:(1)react-redux
的{{1}},(2)connect
的{{1}}和(3)自定义HOC 。确实,这种行为得以保留。
但是,当我们用这3个HOC的任意组合包装组件时,@material-ui
的“需求”消失了。
具体来说,当我们用withStyles
然后用requiredProp
包装组件时,会出现错误。
当我们用connect
包装组件时,然后用withStyles
包装,如果未提供withStyles
,则流程不再返回错误,这是不正确的。
最后,当我们使用connect
,然后使用requiredProp
和最后使用我们的自定义HOC包装自定义组件时,如果未提供connect
,则流程也不再返回错误。
我已经在以下存储库中演示了此代码:https://github.com/jmtoung/flow-hoc-issue