import React from 'react';
class Component extends React.Component {
componentDidMount() {
console.log('componentDidMount');
}
render() {
return null;
}
}
import React, {useEffect} from 'react';
function Component() {
useEffect(() => {
console.log('componentDidMount');
}, []);
return null;
}
componentDidUpdate
难易程度:***
import React from 'react';
class Component extends React.Component {
componentDidUpdate() {
console.log('componentDidUpdate');
}
}
import React, {useEffect, useState} from 'react';
function Component() {
const [count, setCount] = useState(0);
useEffect(() => {
console.log(`componentDidMount or all state/props's componentDidUpdate`);
});
useEffect(() => {
console.log(`componentDidMount or count's componentDidUpdate`);
}, [count]);
return null;
}
componentWillUnmount
难易程度:*
import React from 'react';
class Component extends React.Component {
componentWillUnmount() {
console.log('componentWillUnmount');
}
}
import React, {useEffect} from 'react';
function Component() {
useEffect(() => {
// return's callback will be called only when componentWillUnmount
return () => {
console.log(`componentWillUnmount`);
}
});
return null;
}