【发布时间】:2019-07-16 15:54:22
【问题描述】:
我有一个组件网格,我需要在渲染他的孩子后得到他的高度。 children是100张图片,渲染速度远低于Grid渲染速度。
import React, { FC, useEffect, useRef } from 'react'
import { TProps } from '.'
import { Grid, Wrap } from './contentStyle'
export const ContentComponent: FC<TProps> = ({
children,
}) => {
const grid = useRef<HTMLDivElement>(null)
useEffect(() => {
isPageBottom && getNextVideosPreviewAction({ pageNumber, video })
grid && grid.current && console.log('height', height && height.current.clientHeight)
})
return (
<Wrap>
<Grid ref={grid}>
{children}
</Grid>
</Wrap>
)
}
在控制台日志中 - 66,但在实际中 - 3006
【问题讨论】:
-
定义“慢得多”。组件是异步加载数据还是在初始渲染后同步执行其他操作?也许使用
useLayoutEffect而不是useEffect可以解决您的问题。 -
@Chris,在网格渲染和拉伸网格后加载的孩子 - 是一个简单的 div
-
以下是否解决了您的问题?
标签: reactjs render children ref