ReactDom(render、findDOMNode、unmountComponentAtNode)

目录

ReactDom

render

findDOMNode

unmountComponentAtNode


ReactDom

react-dom是React剥离出的涉及DOM操作的部分。

render

render用于将React渲染的虚拟DOM渲染到浏览器DOM。

注意有可选参数callback函数,当组件装载完毕时,callback 就会被调用。

render(ReactElement element,DOMElement container,[function callback])

findDOMNode

用于获取真正的DOM元素,以便对DOM节点进行操作。

可以传入组件或ref来获取原生domref加在原生dom上,获取到的就是原生dom;ref加在组件上,获取到的是组件实例),还可以传入原生dom,获取到的还是原生dom,没什么用;

// 无用
// let  Btn = document.getElementById('btn')
// ReactDOM.findDOMNode(Btn).style.color = 'red'


let btn =  <APP />
cosnt dom=ReactDOM.findDOMNode(btn)

<Example ref={ node=>{ this.node = node} }> // 利用ref获取Example组件的实例
const dom = findDOMNode(this.node); // 通过findDOMNode获取实例对应的真实DOM

 

unmountComponentAtNode

用于执行卸载操作,执行在componentWillUnmount之前。

import ReactDOM from "react-dom";
function App() {
  return (
    <button onClick={()=>{ReactDOM.unmountComponentAtNode(rootElement)}}>点击卸载</button>
  )
}
ReactDOM.unmountComponentAtNode(rootElement)}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值