Hook 实现 componentWillMount

useState 实现

  • 因为 useEffect 在挂载后执行,所以配合 useState 在挂载后改变状态
function useHook(callback){
	const [isRendered,setRendered] = useState(false);
	
	useEffect(()=>{
		setRendered(true);
	},[])
	
	if(!isRendered){
		callback();
	}
	
}

useMemo 实现

  • useMemo的执行时机在渲染前计算并缓存,在 useLayoutEffect 之前执行
function useHook(callback){
	useMemo(()=>{
		callback()
	},[])

}

useRef 实现

function useHook(callback){
	const isRendered = useRef(false);

	if(!isRendered.current){
		isRendered.current = true;
		callback();
	}
}

useLayoutEffect 实现

function useHook(callback){
	useLayoutEffect(()=>{
		callback()
	},[])

}

相关推荐

  1. Hook 实现 componentWillMount

    2024-07-17 18:28:05       22 阅读
  2. React Hooks实例及详解)

    2024-07-17 18:28:05       39 阅读
  3. pytorch 钩子函数hook 详解及实战

    2024-07-17 18:28:05       52 阅读
  4. hook抓包trace定位实战

    2024-07-17 18:28:05       25 阅读
  5. React16源码: Hooks源码实现

    2024-07-17 18:28:05       48 阅读
  6. React使用Valtio的hook实现响应式状态管理

    2024-07-17 18:28:05       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 18:28:05       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 18:28:05       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 18:28:05       62 阅读
  4. Python语言-面向对象

    2024-07-17 18:28:05       72 阅读

热门阅读

  1. Local Cache(一)Cache介绍

    2024-07-17 18:28:05       20 阅读
  2. Python题解Leetcode Hot100之技巧

    2024-07-17 18:28:05       23 阅读
  3. 生成式 AI 的发展方向,是 Chat 还是 Agent?

    2024-07-17 18:28:05       17 阅读
  4. 详解python基本语法

    2024-07-17 18:28:05       20 阅读
  5. I/O流的设计模式,分类,抽象类还有常用流

    2024-07-17 18:28:05       20 阅读
  6. Linux C++ 056-设计模式之迭代器模式

    2024-07-17 18:28:05       22 阅读
  7. 简谈设计模式之桥接模式

    2024-07-17 18:28:05       22 阅读
  8. Stream流

    Stream流

    2024-07-17 18:28:05      18 阅读
  9. r语言keras::tensorflow安装问题

    2024-07-17 18:28:05       19 阅读
  10. pycharm2020 相比pycarm2017更新内容

    2024-07-17 18:28:05       19 阅读
  11. springboot+js实现SSE消息推送

    2024-07-17 18:28:05       17 阅读