ЮЧ
Size: a a a
ЮЧ
A
ЮЧ
ЮЧ
A
export default function Lazy({ component, initialFallback = <></> }){А в app.js так :
const fallback = useRef(() => initialFallback);
const Component = component;
const updateFallback = async () => {
const result = await component._result;
fallback.current = typeof result === 'function' ? result : result?.default;
}
useEffect(() => {
updateFallback();
}, [component]);
let loadingProcess = ()=>{
return fallback?.current?.name ? <><TopBarProgress/><fallback.current/></> : <Loading type="fullPage"/>;
}
return (
<Suspense fallback={loadingProcess()}>
<Component />
</Suspense>
);
};
import Lazy from './LazyLoad';В функции loadingProcess он ссылается на текущий компонент и заново его перерисовывает, можно как - то от это избавиться ? memo и useCallback помогут?
...
<Switch>
<Route exact path="/">
<Lazy component={...}/>
</Route>
...
</Switch>
ЮЧ
IL
IL
MU
MU
ЮЧ
ЮЧ
IL
IL
IL
ЮЧ
ЮЧ
ЮЧ
MU
IL