【发布时间】:2020-11-16 14:29:09
【问题描述】:
我真的很难理解 React 中的状态。有什么区别,
这个:
class Todo extends ... {
constructor (){
super()
this.state = { ... }
}
}
还有这个:
class Todo extends ... {
state = { ... }
}
而且我也很困惑和愚蠢地理解为什么他们有时会在状态中放置一个函数。
const [ user, setUser] = useState(() => ...)
我找不到任何资源来区分这些主题。我希望你能帮助我解释这是如何以及为什么会这样。我读过关于 React 的博客,但上面没有提到这些内容。
【问题讨论】:
-
useState仅在函数组件(非类)中可用。另外两个只是对 Class 组件做同样事情的两种方法。一个状态是用对象初始化的,另一个在构造函数中允许您根据传递给组件的初始道具设置状态。 -
What is the difference between using constructor vs state = {} to declare state in react component? 我怀疑你看到的是
setUser(() => ...)而不是useState(() => ...)。 -
不,useState(() =>) 不同。我已经看到它在使用它。而且我认为它是有效的,但我不知道它是如何工作的。
-
Jacob Smith,所以带构造函数的状态只是将状态传递给组件,但其中包含道具?
标签: javascript reactjs class constructor state