如果使用新道具重新呈现父组件,则子组件的状态会发生什么

时间:2017-05-22 16:17:11

标签: reactjs

情景:

组件A是组件B的父级。

A有一个名为a String的道具。

B的状态名为b Int

b42

a"hello"

现在,我使用render()重新呈现A并将a设置为"hi!"

b会怎样?重新渲染后它仍然是42吗?为什么?

关于原因的一些相关背景问题:

我最初的猜测是42将丢失,子组件将使用0或默认值重新初始化。但这没有多大意义,它不会非常有用,但我只是看不到子组件的状态如何生存?

也许我不明白有状态组件 VDOM 之间的区别以及它们与彼此之间的关系。

1)有状态组件是否是用于创建相应 VDOM 的模板?如果render()方法采用(有状态)组件并吐出 VDOM ,那么 vdom 就是这样在render()创建 vdom

之后在浏览器中呈现

2)是否实际上无状态组件等于 VDOM ,但相同的有状态组件可以生成许多不同的 VDOM - s?

3)我需要在脑中做出反应的心理模型是什么,以便我能够解释这种情况?我想我在这里失踪了。

0 个答案:

没有答案