可以使用React Hooks中的useEffect来代替componentDidMount。
例如,原来的类组件代码:
class MyComponent extends React.Component {
componentDidMount() {
// do something
}
render() {
return (
Hello World!
);
}
}
可以改写为函数式组件:
import React, { useEffect } from 'react';
function MyComponent() {
useEffect(() => {
// do something
}, []);
return (
Hello World!
);
}
在useEffect的第二个参数中传入一个空数组,相当于只在组件加载时执行一次,和componentDidMount的效果一样。如果useEffect中有返回函数,该函数会在组件卸载时执行,相当于componentWillUnmount。