Хуки, в том числе useLayoutEffect, нельзя использовать внутри циклов и условных операторов, потому что это может привести к ошибкам. 45
Это правило гарантирует, что хуки вызываются в одинаковой последовательности при каждом рендере компонента, что позволяет React правильно сохранять состояние хуков между множественными вызовами. 34