这是一个关于react.js内部的问题。 这就是我对虚拟dom的理解。
-Wall
在比较过程中,该功能看到旧快照为空。我们创建元素,并从组件old (rendered from component <X/>) new (rendered from component <X/>)
null <div>
<AnotherComponent/> <- state {count:0}
<p>{this.state.text}</p>
</div>
中创建元素。
<AnotherComponent/>
假设old (rendered from component <X/>) new (rendered from component <X/>)
<div> <div>
<AnotherComponent/> <- state {count:1} <AnotherComponent/> <- state {count:0} ?
<p>Lorem ipsum</p> <p>Lorem ...</p> <- state updates
</div> </div>
组件已第二次更新,并且<X/>
的状态在更新父组件之前已更改。
好的,我比较两个快照,应用更改。但是<AnotherComponent/>
将重置其状态,而我将拥有<AnotherComponent/>
而不是{count:0}
。
react.js或用于构建ui的任何其他声明性js库如何完成某种工作。也许我出了点问题。
我认为我需要获取旧组件的状态并将其分配给新组件。 这是正确的方法吗? 谢谢!