javascript - React.js 'this' 的组件上下文

标签 javascript reactjs

我使用reactjs和es6 WeakMap将状态映射到特定组件。我通过使用组件的 this 值作为与该组件关联的存储的 WeakMap 中的键来实现此目的。

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

我从 react 组件 life cycle 中推导出来文档表明在重新安装时会创建组件的新实例,但并未明确说明情况如此。如果有更多 react 经验的人能为我澄清这一点,我将不胜感激。

此外,如果有人认为按照我尝试的方式从概念上将组件映射到状态是糟糕的设计,请随时插话。

最佳答案

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

我不确定你的用例是什么,但我认为你可以相当确定情况总是如此,但也不是不可能认为 React 将来会重用实例作为优化。

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

关于javascript - React.js 'this' 的组件上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29880800/

相关文章:

javascript - 数组形状错误

android - native 模块 RNC_AsyncSQLiteDBStorage 试图覆盖 AsyncStorageModule

javascript - javascript 如何知道 Rails 3 中当前的语言环境?

reactjs - 使用 Laravel 身份验证时,如何检查 React 组件中的用户是否为 'logged in'?

帖子上的 JavaScript ajax 警报不起作用

javascript - 如何选择任何数量并更改其值?

reactjs - 在功能组件中设置表单提交的状态

css - 在Reactjs中使用CSS className设置react-select组件的样式

javascript - 使用 fb.ui 发送方法发送带有推荐 ID 的链接

Javascript 对象 : how are these two values different?