React.js'this'

时间:2015-04-26 17:15:41

标签: javascript reactjs

我正在使用reactjs和es6 WeakMap将状态映射到特定组件。我这样做是通过使用组件的this值作为与组件关联的商店的WeakMap中的键。

当一个react组件从DOM卸载然后重新安装时,重新安装的组件是否会被赋予一个新的 this上下文?

我从反应组件life cycle文档中推断出在remount上创建了一个新的组件实例,但是没有明确说明是这种情况。如果有反应经验的人能为我澄清这一点,我会很感激。

此外,如果有人认为从概念上将组件映射到我试图做的状态是糟糕的设计,请随时加入。

1 个答案:

答案 0 :(得分:1)

卸载组件时,实例将被丢弃并将收集垃圾。当组件再次安装时,它将是一个新实例。

我不确定你的用例是什么,但我认为你可以相当肯定这种情况总是如此,但我认为React会将实例重用为一个例子并非不可能。未来优化。

为什么需要将状态保存在WeakMap中而不​​是将其存储在层次结构中较高的组件中?