在我用函数组件代替类组件重写了《The Road to React with React Hooks》一书后,有抱负的React初学者总是问我React类组件是否会消失。我总是给他们同样的简短回答,然而,我认为在这里也有这个简短的解释会很好。
是的,React类组件在未来会逐渐消失。如果你想拥抱现代React,那么你应该使用带有钩子的函数组件。这就是为什么你会发现外面的大多数教程都在教授现代React而不再有类组件。
然而,如果你的 "传统 "React项目仍然使用类组件(或其他组件),也不必惊慌。类组件不会真正消失--正如来自React团队的成员所说--因为它们仍然广泛用于许多React项目中。使用React类组件最多的项目可能是Facebook本身。因此,在有某种代码模型将所有的类组件自动迁移到带有钩子的功能组件之前,对类组件的支持将会存在。不过可能会发生的是,React类组件最终会被提取到自己的库中。
总之,如果你偏爱类组件而不是带钩子的函数组件,你仍然可以使用它们。然而,请记住,使用React钩子会有很多好处。