React 扩展了函数组件?

React extends for function component?

提问人:Wordpressor 提问时间:6/26/2023 更新时间:6/26/2023 访问量:280

问:

我有一个类组件,它扩展了另一个类组件:

export default class MyLittleComponent extends TheBigBoy

现在我需要重构为功能组件,以便它与钩子等一起使用。但后来我失去了继承的一切。MyLittleComponentTheBigBoy

有没有办法编写函数组件并保留 的依赖/扩展?TheBigBoy

TheBigBoy在整个应用程序中都使用过,所以我现在还不能删除它。

我可能会制作一个函数副本,然后以某种方式将其附加到,但据我所知,最好的方法是什么,因为函数组件没有“扩展”?某种钩子?我想避免 HOC,因为这是我逃避的事情之一。TheBigBoyMyLittleComponent

javascript reactjs react-functional-component react-class-based-component(基于反应类的组件)

评论


答:

1赞 Kabece 6/26/2023 #1

一般来说,React 团队建议组合而不是继承

但是,您可以做的是使用双管齐下的方法:

  1. 将逻辑和状态管理从自定义钩子移出。然后你可以使用那个钩子。TheBigBoyMyLittleComponent
  2. 变成一个需要孩子的组件。然后,您可以将您的TheBigBoyMyLittleComponentTheBigBoy

希望能有所帮助。

评论

0赞 Kiran Shahi 6/27/2023
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。