import React, { useState, useEffect } from "react";
import "./styles.css";
export default function App() {
const [mounted, setMounted] = useState(false)
if(!mounted){
// Code for componentWillMount here
// This code is called only one time before intial render
}
useEffect(() =>{
setMounted(true)
},[])
return (
<div className="App">
</div>
);
}
2条答案
按热度按时间wgxvkvu91#
componentWillMount
在初始呈现之前只被调用一次。我做了一个示例代码,请在下面查看componentDidmount
中,您可以简单地使用useEffect
钩子和空数组作为函数组件中的依赖项v9tzhpje2#
实际上,我想在这里添加更多的案例,并且我将创建可重用的定制钩子。
1.注意额外的dom渲染
注意:您可能需要在 typescript 中使用
mounted && mounted.current
2.不关心额外的dom渲染
这就是Tony answer
用法
一个二个一个一个