当前位置: 首页 > 面试题库 >

卸载React.js节点

湛鸿
2023-03-14
问题内容

我正在尝试用以下方法卸载React.js节点 this._rootNodeID

 handleClick: function() {

        React.unmountComponentAtNode(this._rootNodeID)

 }

但是它又回来了false

handleClick当我点击一个元素上,而应卸载根节点被激发。此处的文档unmountComponentAtNode

我也尝试过:

React.unmountComponentAtNode($(’* [data-reactid =“’+ this._rootNodeID
+’”]’)[0])

该选择器可与一起使用jQuery.hide(),但不能与之卸载,但文档指出它应为DOMElement,就像您将用于React.renderComponent

经过更多测试之后,结果证明它可以在 某些 元素/选择器上运行。

它以某种方式与选择器一起工作:document.getElementById('maindiv'),其中maindiv的元素不是用React.js生成的,而只是纯HTML。然后返回true

但是,一旦我尝试选择由React.js生成的另一个ElementById,它就会返回false。而且它们都不会起作用document.body,尽管如果我用console.log记录它们,它们基本上都返回相同的东西(getElementsByClassName('bla')[0]同样不起作用)

应该有一种通过来选择节点的简单方法this,而不必诉诸jQuery或其他选择器,我知道它在某个地方。


问题答案:

从与安装组件相同的DOM元素中卸载组件。因此,如果执行以下操作:

ReactDOM.render(<SampleComponent />, document.getElementById('container'));

然后,您将使用以下命令卸载它:

ReactDOM.unmountComponentAtNode(document.getElementById('container'));

这是一个简单的JSFiddle,我们在其中安装组件,然后在3秒钟后将其卸载。



 类似资料:
  • 尽管我不知道它是什么,但我已经安装了node。js公司 我现在想从我的Mac(Monterey OS和M1)上卸载它。但我找不到节点。应用程序文件夹中的js和我在网上能找到的唯一信息是非常复杂的终端指令。同样,我不知道终端是什么,也不想使用它。 是否有卸载程序?还是卸载它的简单方法?

  • 问题内容: 不久前,我在Mac OSX上使用以下命令安装了Node.js版本0.2.1: 我最近安装了Homebrew,所以现在我更喜欢使用它来管理我的安装。我今天使用以下命令安装了Node.js版本0.4.5: 酿造节点 但是我注意到我仍然在这些目录中找到旧版本的Node.js: 卸载使用sudo make技术安装的Node.js的正确方法是什么? 提前致谢 问题答案: 没有“正确”的方法。该只

  • 我已经成功使用MAMP PRO一年多了。最近,当我试图启动MAMP PRO时,它不会启动。我试图“恢复”,但没有成功。Appsolute技术支持建议卸载并安装新版本。MAMP PRO卸载程序不工作。我得到“特权操作失败”错误消息。我在"stackoverflow"上找到了这个解决方案 从 /Library/Application支持中删除appsolute目录,其中包含在MAMP Pro安装时创建

  • 由于install4j没有一个维护安装程序来允许删除部分组件,我修改了卸载程序,以创建显示每个可卸载组件的可配置表单,然后简单地根据用户选择删除文件,这反过来意味着删除标准卸载屏幕。

  • 问题内容: 如何用Java编程语言装载和卸载硬盘驱动器(与平台无关,因此不使用运行时执行硬编码的命令)? 问题答案: 答案是“是和不是”。您无法在Java中挂载或卸载设备,因为每个操作系统都有自己的方法来执行此操作。但是…您可以提供将适配器模式用于本机接口的Java API。您应该做一些事情: 创建支持安装/卸载命令的Java接口 创建将接口实现为本机方法的类 用C或其他语言创建此命令的本机实现。

  • 问题内容: 我在这里尝试了答案已删除golang但go命令仍然有效?,但是没有用(我仍然可以运行go) 目前,当我运行时,我看到此输出 我指的是我有两个安装的go,因为我指向另一个名为的文件夹。我现在已经删除了该文件夹以及该文件夹。 我还删除了我的。但是,我仍然可以运行。 如何卸载golang? 问题答案: 你可以试试 然后删除例如中的任何提及;那么您至少需要注销并登录。 但是,这样做时要小心。如