在React中,类组件可以是无状态的,现在带有钩子的功能组件可以是有状态的吗?

时间:2019-07-11 18:08:43

标签: reactjs react-hooks stateless stateful

在引入Hooks之前,对我来说,有状态和无状态组件之间有明显的区别。但是,使用React Hooks,现在可以肯定地说函数组件可以是无状态的还是有状态的,取决于使用方式(如果例如使用useState和/或使用using是Hooks,则该状态为有状态)?

此外,如果未使用状态和/或使用生命周期方法,则类组件(扩展到React组件基类)是否可以被视为无状态?

我一直在阅读有关无状态与有状态(类与函数)组件的stackoverflow文章,但是很多问题在React v16.8之前就已经回答了。

1 个答案:

答案 0 :(得分:0)

如果从不使用状态,则类组件始终可以是无状态的。功能组件最初只是用作定义不需要状态的组件的一种更简单的方法,但是随着钩子的引入,它们现在具有了保持状态的能力。

因此要回答您的问题,类组件和功能组件都可以是有状态的和无状态的。但是,随着钩子的引入,React开发人员已经表示,他们相信所有组件最终都将使用钩子实现功能化,因此,如果您是我,我将尝试使用功能性组件。