代码之家  ›  专栏  ›  技术社区  ›  temporary_user_name

在功能组件的主体中,useffect和代码有什么区别?

  •  0
  • temporary_user_name  · 技术社区  · 5 年前

    基本上我想知道这两件事有什么不同:

    const myComponent = (props) => {
        console.log('hi');
        return (
            <div>props: {props}</div>
        );
    };
    
    const myComponent = (props) => {
        useEffect(() => {
            console.log('hi');
        });
        return (
            <div>props: {props}</div>
        );
    };
    

    1 回复  |  直到 5 年前
        1
  •  2
  •   Arnaud Claudel    5 年前

    useEffect 将延迟日志,因为它不会立即执行。

    请参见以下示例:

    const MyComponent1 = () => {
        console.log('Hello');
        console.log('World');
        return (
            <div></div>
        );
    };
    

    这将输出 Hello world

    
    const MyComponent2 = () => {
        useEffect(() => {
            console.log('Hello');
        });
        console.log("world")
        return (
            <div></div>
        );
    };
    

    world Hello .

    看这个精彩 video 关于事件循环如果您想清楚地了解这个