状态逻辑和React中的状态有什么区别?

VK1*_*VK1 3 state reactjs react-hooks

我正在查看钩子文档,他们说得很清楚

这些组件的状态是完全独立的。挂钩是重用有状态逻辑而不是状态本身的一种方法。

我想弄清楚这两件事之间的区别。

lec*_*tor 5

这就是说,当您在多个组件中重复使用自定义钩子时,实际状态数据将不会在这些组件之间共享。每次使用该钩子时,都会有一个状态数据的单独实例。

如果您确实想共享状态,那么您将考虑使用该useContext钩子(也可以在自定义钩子中使用它,这意味着该钩子的多种用途可以共享状态)。


小智 5

状态是描述 UI 当前状况的值的组合。它可以在组件之间共享,因为它们订阅了它的更改,并且其中一些组件可以对其执行更改。

有状态逻辑是使用 state 的任何代码,但对于钩子,我将其定义为使用一个或多个钩子创建的行为。这就像您添加到组件中的一项福利。特权是一个很好的例子,因为它告诉您它的值特定于该组件,但多个组件可以拥有该特权,这就是它被称为可重用的原因。