Я исправил проблему следующим образом:
Он работает и с функциональным компонентом - я подошел к нему следующим образом:
Прежде всего, убедитесь, что для проверки используется оператор if если значения загружены, если это не тот рендер, пустой блок, иначе рендерит фактический компонент со всеми данными.
{!posts ? (
<></>
) : ( COMPONENT) }
Второстепенная вещь, которая устранила проблему, была - в методе uedEffect, вызывающем функцию asyn c , не делая все логики c внутри самого метода.
const fetchData = async () => {
const result = await axios("http://localhost:1337/jobposts?confirmed=true");
setPosts(result.data);
};
useEffect(() => {
fetchData();
}, []);