Я думаю, что вы имеете в виду componentWillMount
, а не componentWillUnmount
здесь, верно? Я бы порекомендовал использовать componentDidMount
. Это способ реагирования, поэтому useEffect
даже не поддерживает componentWillMount
(не могу найти ссылку ...).
По сути, вам просто нужно заблокировать показ страницы при загрузке ваших данных:
...
async componentDidMount() {
this.setState({ profiles: await CurdApi.getAllProfiles() });
}
....
render(){
<>
{state.profiles && <Profiles profiles={profiles} />}
</>
}
Я бы порекомендовал вам использовать ловушки, но мне проще работать с крючками:
...
const [state, setState] = useState({});
const fetchProfiles = async() =>{
setState({ profiles: await CurdApi.getAllProfiles()});
}
useEffect(()=>{
fetchProfiles();
}, [])
return(
<>
{state.profiles && <Profiles profiles={profiles} />}
</>
)
...