美文网首页
ReactDOM unmountComponentAtNode

ReactDOM unmountComponentAtNode

作者: Asuler | 来源:发表于2021-03-10 14:33 被阅读0次

unmountComponentAtNode

创建一个弹窗函数,通常会先

const a = document.createElement('div');
document.body.appendChild(a);
ReactDOM.render(<Modal>, a);

在body上创建一个div称作a,再往div里塞入Modal组件

如果要关闭弹窗则

a.parentNode.removeChild(a);

同时还要卸载渲染在a里面的组件,所以需要

const unmountResult = ReactDOM.unmountComponentAtNode(a);
if (unmountResult && a.parentNode) {
       a.parentNode.removeChild(a);
}

findDomNode

react中获取真实dom有两种方法,一种是 react 的ref,一种是 ReactDOM 的 findDomNode
使用方法

let  Btn = document.getElementById('btn')
ReactDOM.findDOMNode(Btn).style.color = 'red'
let btn =  <APP />
cosnt dom=ReactDOM.findDOMNode(btn)

1.ref加在原生dom上,获取到的就是原生dom;ref加在组件上,获取到的是组件实例

2.ReactDOM.findDOMNode 传入的参数如果是原生dom,获取到的还是原生dom,没什么用;
如果传入的参数是组件,获取到的是,组件render里面return的真实dom

相关文章

网友评论

      本文标题:ReactDOM unmountComponentAtNode

      本文链接:https://www.haomeiwen.com/subject/toswqltx.html