就我可以检查代码而言,热加载器创建一个新组件并用新组件替换DOM中的组件。状态从旧组件传递到新组件。
这如何与指向旧组件的this
一起使用?
修改即可。添加更多信息。
示例1 :假设在构造函数中我存储了一个计算结果(它没有被渲染,所以它不需要进入state
)
this.myResult = doSomeCalculation();
如果React热加载器正在重新创建组件,那么它应该调用构造函数并重做变量。但是,如果在回调中调用了该行代码,那么如果重新创建该对象,则该变量将不再可用于通过this
访问它。正确的吗?
示例2 :this
被传递给组件外部的函数,以便函数可以在需要更新组件状态时调用this.setState
。如果React热加载器正在重新创建组件,则旧this
不再有效,如果该函数尝试使用旧this.setState
调用this
,则新组件的状态将赢得&#39改变。正确的吗?
注意:这些是反模式,不应该在实际代码中使用。它们仅用于说明目的,以便更好地解释问题的本质。