Javascript React组件渲染两次,功能组件不';t use状态挂钩只渲染一次

Javascript React组件渲染两次,功能组件不';t use状态挂钩只渲染一次,javascript,reactjs,Javascript,Reactjs,演示代码的代码沙盒url: 类组件渲染两次,没有道具和状态;不使用useStatehook的函数组件只渲染一次,使用useStatehook将渲染两次 对于get State和Props值是否渲染两次 无论状态是否初始化,类组件都是有状态组件 有人能帮我理解这个问题吗?谢谢你 附加图像: 作为评论@Sagar More,StricktMode导致它 不带StrickMode的输出 看 严格模式不能自动为您检测副作用,但它可以通过使副作用更具确定性来帮助您发现副作用。这是通过故意双重调用以下方法

演示代码的代码沙盒url:

类组件渲染两次,没有道具和状态;不使用
useState
hook的函数组件只渲染一次,使用
useState
hook将渲染两次

对于get State和Props值是否渲染两次

无论状态是否初始化,类组件都是有状态组件

有人能帮我理解这个问题吗?谢谢你

附加图像:
作为评论@Sagar More,
StricktMode
导致它

不带StrickMode的输出

严格模式不能自动为您检测副作用,但它可以通过使副作用更具确定性来帮助您发现副作用。这是通过故意双重调用以下方法实现的:

类组件构造函数方法

渲染方法

setState更新程序函数(第一个参数)

静态getDerivedStateFromProps生命周期

shouldComponentUpdate方法


在你的例子中,我可以看到两次CR和FR。。。两次。那么,你的问题又是什么呢?类组件两次呈现做了什么?这是因为你在代码中使用了
React.StrictMode
。如果你删除它,它会工作。我删除了
React.stricmode
,但它没有改变,它仍然呈现twiceFP组件两次,因为使用了
useState
钩子,但我不明白为什么CR组件呈现twiceFor像我这样的人,转到“index.js”并删除“”标记