可以用 HOC,Render Props,自定义 Hook 来实现代码的复用。
HOC 的玩法很多,可以见 一文吃透React高阶组件(HOC)。通过 HOC 组件来个组件加而外的属性的情况,建议用 Hook。因为 HOC 会加深组件层级,Hook 不会。
Render Props 是 HOC 的变体。Render HOC 方便将子组件的内部属性传给父组件。用 HOC 来实现类似功能要多一个回调函数属性来传内部的属性。
自定义 Hook 特别适合抽象数据的操作。不带 UI 的代码复用,首选 Hook。当然,Hook 也能带 UI。