当前位置: 首页 > 文档资料 > Rax 中文文档 >

unmountComponentAtNode

优质
小牛编辑
126浏览
2023-12-01

对于不使用 Rax 而是使用其他方法来重新渲染容器是不安全的,这是你需要通过 unmountComponentAtNode 来清空你的节点树。

移除一个已经渲染到 DOM 中的 Rax 组件,且将其事件处理器和 state 一并清除,如果组件被正确移除将会返回 true,如果在指定容器中没有该组件则不会做任何处理即返回 false。
注意 unmountComponentAtNode 并不能卸载所有已经挂载到 DOM 中的组件,它只能卸载通过 render 函数渲染的组件。

方法

unmountComponentAtNode(container)

参数

  • container 为需要卸载的 DOM 元素。

返回值

返回值为 true 的时候,表示卸载成功。反之,则表示卸载失败。

示例

import {createElement, render, useRef, useEffect } from 'rax';
import unmountComponentAtNode from 'rax-unmount-component-at-node';
import View from 'rax-view';
import Text from 'rax-text';

function App() {
  const ref = useRef(null);
  useEffect(() => {
  	const result = unmountComponentAtNode(ref.current);
  });
  return <View>
	<Text ref={ref}>Hello Rax!</Text>
  </View>;
}