【发布时间】:2020-10-30 14:40:47
【问题描述】:
在我的代码中,app 是最高(功能)组件。它渲染piggybank(这是一个类组件),它渲染piggychild(这是一个功能组件)。
每个组件 'console.logs' 本身的名称(在类组件的render 方法中;只是在功能组件的函数中)并具有“安装”功能(对于类组件,此表示componentDidMount 方法;对于功能组件,这表示useEffect 钩子,其回调的第二个参数是一个空数组)将'mount' 记录到控制台。
如图所示,PiggyBank 的挂载首先触发,然后是 PiggyChild 的,然后是 App 的。
React 中是否有规则来管理组件的“挂载”功能发生的顺序?
或者仅仅知道在所有组件渲染之后发生挂载函数就足够了?
【问题讨论】:
-
是的,我也很好奇。但也许 useEffect 返回函数在顺序上与 componentDidMount 函数不完全相同。所以也许只使用一种类型的组件测试会更准确。
标签: javascript reactjs