import { useEffect, useState } from 'react'; function MsgItem({ text, title }) { // 3 组件卸载前执行 useEffect(() => { // return () => { // 这里返回的回调 会在组件卸载前执行 // 可以在这里清除一些『垃圾』 console.log('MsgItem卸载了'); }; }, []); return (

{title}

{text}

); } export default function TestUseEffect({ name }) { let [msg, setMsg] = useState('啥也没有'); // 1 每一次组件渲染 都有执行一些代码 useEffect(() => { // 编写那些副作用代码 // console.log('==组件渲染=='); }); // 2 模拟 componentDidMount useEffect(() => { console.log('===组件渲染后==='); }, []); // 4 监听state或者props变化,执行setup(组件首次渲染 也会执行setup) useEffect(() => { console.log('msg变化了'); }, [msg, name]); return (

useEffect

{msg && }

{msg}: {name}

); }