我正在使用一个名为的自定义钩子,我在两个组件(第一,第二)中使用它,但仅在和组件得到渲染时才被调用。useEffectuseCustomHookuseCustomHookuseEffectFirstSecond
例如
我有第一个组件
import React,{useState} from 'react'
import useCustomHook from './customHook'
function First(){
console.log("component First rendering")
const [count,setCount]=useState(0)
useCustomHook(count)
return (<div>First component</div>)
}
这是我的第二个组成部分
import React,{useState} from 'react'
import useCustomHook from './customHook'
function Second(){
console.log("component Second rendering")
const [count,setCount]=useState(0)
useCustomHook(count)
return (<div>Second component</div>)
}
这是我的自定义钩子
import {useEffect} from 'react'
function useCustomHook(count){
console.log("useCustomHook getting called")
useEffect(()=>{
console.log("useEffect gets called") //this function is running after both component rendered
},[count])
}
我的主要应用组件
import First from './first'
import Second from './second'
function App(){
return (
<div>
<First/>
<Second/>
</div>
)
}
我的控制台输出是 :
1) 组件首次渲染
2)使用被调用的自定义钩子
3) 组件 二次渲染
4)使用被调用的自定义钩子
5) (2) 使用效果被调用
我想知道
为什么是行输出不是在行之后,为什么组件日志发生在行之后,因为应该在被组件调用之后但在调用组件日志之前调用。为什么在组件日志之前没有被调用。52Second2useEffectuseCustomHookFirstSeconduseEffectuseCustomHookSecond
暮色呼如
倚天杖
相关分类