Problem jest taki(albo bardziej ciekawość), że ogólnie modal ładuje się około 2 sec(w tym czasie nic się nie wyświetla) i pokazuje modal z loaderem, potem jak pobierze potrzebną informacje z requesta getSomeDataFromBackend() to usuwa loader ale to już nie ważne. Chodzi mi o te 2sec aż do pokażania loadera. Dlaczego jeśli usunę getSomeDataFromBackend() modal ładuje się połowę szybciej. Przecież content powinien pojawić się szybko i request nie powinien mieć nic do rzeczy. Tak samo jak dam breakpoint na miejscu pokazanym w kodzie też ładuje się szybiej. Nie mam pojęcia czym to jest spowodowane? przecież useEffect() nie powinien wpływać na to że content się pokazuje.
Mam podobny kod jak tutaj tylko bardziej skomplikowany
Modal jest obsługiwany ze stora
import React, { useState, useEffect } from 'react';
const ModalComponentContent = () => {
useEffect(() => {
getSomeDataFromBackend(); // jesli zrobie breakpoint w debugerze tutaj to kod pokaże modal 2x szybciej
}, []);
return (
<div>
{isLoading ? <Spinner /> : (
<div>
<h1>Przykładowy komponent z użyciem useEffect i modala</h1>
{someMaping.map()}
</div>
)
</div>
);
};
const mapStateToProps = (store) => {
return {
isOpen: store.modal.isOpen,
// tutaj kilka innych rzeczy ze stora
};
};
const mapDispatchToProps = (dispatch) => {
return {
closeModal: () => dispatch(closeModal()),
};
};
export default ModalComponentContent;