
ReactJS
Map class lifecycle methods to modern Hook equivalents.
// Class version
class Loader extends React.Component {
componentDidMount() {
fetch("/api/data").then(r => r.json());
}
}
// Hook version
function Loader() {
React.useEffect(() => {
fetch("/api/data").then(r => r.json());
}, []);
}// Class version
class Search extends React.Component {
componentDidUpdate(prevProps) {
if (prevProps.query !== this.props.query) {
this.search();
}
}
}
// Hook version
function Search({ query }) {
React.useEffect(() => {
search(query);
}, [query]);
}// Class version
class Listener extends React.Component {
componentDidMount() {
window.addEventListener("resize", this.handle);
}
componentWillUnmount() {
window.removeEventListener("resize", this.handle);
}
}
// Hook version
function Listener() {
React.useEffect(() => {
window.addEventListener("resize", handle);
return () => window.removeEventListener("resize", handle);
}, []);
}| Class | Hook |
|---|---|
| constructor | useState |
| componentDidMount | useEffect(..., []) |
| componentDidUpdate | useEffect(..., [deps]) |
| componentWillUnmount | return () => {} in useEffect |
Resources
Ojasa Mirai
Master AI-powered development skills through structured learning, real projects, and verified credentials. Whether you're upskilling your team or launching your career, we deliver the skills companies actually need.
Learn Deep • Build Real • Verify Skills • Launch Forward