로딩 중에 다른 UI를 보여 주고 싶다면 loadable을 사용하는 부분을 다음과 같이 수정합니다.
App.js – loadable 사용 부분
const SplitMe = loadable(() => import('./SplitMe'), { fallback: <div>loading...</div> });
이번에는 컴포넌트를 미리 불러오는(preload) 방법을 알아보겠습니다. 코드를 다음과 같이 수정해 보세요.
App.js
import React, { useState } from 'react'; import logo from './logo.svg'; import './App.css'; import loadable from '@loadable/component'; const SplitMe = loadable(() => import('./SplitMe'), { fallback: <div>loading...</div> }); function App() { const [visible, setVisible] = useState(false); const onClick = () => { setVisible(true); }; const onMouseOver = () => { SplitMe.preload(); }; return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <p onClick={onClick} onMouseOver={onMouseOver}> Hello React! </p> {visible && <SplitMe />} </header> </div> ); } export default App;