I have a problem with measuring value of my views.
I have to get pageX and pageY value.
One component looks like:
useEffect(() => {
setTimeout(() => {
updateElementPositions(index)
})
}, [])
....
<StyledElement ref={elementRef[index]} style={style} index={index} type={type}> .....
Update element position is a function declared in the context
const updateElementPositions = (index: string) => {
elementRef[index].current.measure((x: number, y: number, height: number, width: number, pageX: number, pageY: number) => {
// HERE IS A PROBLEM
})
}
in this function I would like to assign pageY and pageX value to variable. The problem is that I have a lot of components like that ( about 300 ) and I need to get a dimensions of each element. Hence I can't use setState or methods which causing re-render.I was trying to use ref.
elementRef[index].current.measure((x: number, y: number, height: number, width: number, pageX: number, pageY: number) => {
element.current[index] = {pageX, pageY}
})
But I've encountered this error which is very odd to me
Assign to "normal" variable also causes an error TypeError: Attempted to assign to readonly property.
I'm running out of ideas how can I do it.
I will be grateful if someone will be able to help me :) .
Regards