You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React函数组件创建时内部代码执行与渲染的先后顺序问询

React函数组件初始化执行顺序说明

答案非常明确:组件内部的所有同步代码会先执行完毕,之后才会把返回的元素渲染到屏幕上。

核心逻辑说明

你写的函数组件本质就是普通JavaScript函数,React渲染组件的完整流程是:

  • 当React判定需要渲染<Test />组件时,会主动调用Test()函数,这个步骤属于React的「渲染阶段」
  • 进入函数作用域后,完全遵循JS默认的代码执行顺序,从上到下执行所有同步代码:先完成testVar变量声明赋值、test函数声明,直到执行到return语句,拿到返回的虚拟DOM对象,Test()函数的调用才会结束
  • 函数执行完成后,React才会进入「提交阶段」:拿着返回的虚拟DOM做Diff计算、更新真实DOM,最后才会把元素渲染到屏幕上,这一步完全在组件函数执行完毕后才会触发。

可自行验证的测试代码

你可以运行下面的代码查看控制台打印顺序,就能直观确认执行逻辑:

function Test(){
    console.log('进入Test组件函数')
    let testVar = 'testing';
    console.log('testVar声明完成:', testVar)
    function test(){
        console.log('test函数已声明')
    }
    console.log('test函数声明完成')
    console.log('即将返回渲染元素')
    return(
        <div className="test-element">I here just for testing purposes</div>
    )
}

运行后会发现所有console打印完成之后,页面才会出现对应的div元素。


内容的提问来源于stack exchange,提问作者Marwane Elalama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 11:24:03