import React, { Suspense, lazy } from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
const Home = lazy(() => import('./routes/Home'));
const About = lazy(() => import('./routes/About'));
const App = () => (
<Router>
<Suspense fallback={<div>Loading...</div>}>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</Suspense>
</Router>
);
import("./math").then(math => {
console.log(math.add(16, 26));
});
// ManyComponents.js
export const MyComponent = /* ... */;
export const MyUnusedComponent = /* ... */;
// app.js
import { add } from './math.js';
console.log(add(16, 26)); // 42
import React, { Suspense } from 'react';
const OtherComponent = React.lazy(() => import('./OtherComponent'));
const AnotherComponent = React.lazy(() => import('./AnotherComponent'));
function MyComponent() {
return (
<div>
<Suspense fallback={<div>Loading...</div>}>
<section>
<OtherComponent />
<AnotherComponent />
</section>
</Suspense>
</div>
);
}
import('my-library')
.then(library => library.action())
import React, { useState } from 'react';
import { getRiverInformation } from '../../services/rivers';
export default function RiverInformation() {
const [riverInformation, setRiverInformation] = useState({});
getRiverInformation()
.then(d => {
setRiverInformation(d)
})
return(
...
)
}
nano src/components/App/App.js
import React, { Suspense } from 'react';
import MyErrorBoundary from './MyErrorBoundary';
const OtherComponent = React.lazy(() => import('./OtherComponent'));
const AnotherComponent = React.lazy(() => import('./AnotherComponent'));
const MyComponent = () => (
<div>
<MyErrorBoundary>
<Suspense fallback={<div>Loading...</div>}>
<section>
<OtherComponent />
<AnotherComponent />
</section>
</Suspense>
</MyErrorBoundary>
</div>
);
Recommend
Code-Splitting React.lazy Error boundaries
React Code-Splitting Bundling Example
React Test Utilities Other Utilities Simulate
React Test Utilities Reference renderIntoDocument()
React Test Utilities Reference findRenderedComponentWithType()
React Test Utilities Reference scryRenderedComponentsWithType()
React Test Utilities Reference findRenderedDOMComponentWithTag()
React Test Utilities Reference scryRenderedDOMComponentsWithTag()
React Test Utilities Reference findRenderedDOMComponentWithClass()
React Test Utilities Reference scryRenderedDOMComponentsWithClass()
React Test Utilities Reference findAllInRenderedTree()
React Test Utilities Reference isCompositeComponentWithType()
React Test Utilities Reference isCompositeComponent()
React Test Utilities Reference isDOMComponent()
React Test Utilities Reference isElementOfType()
React Test Utilities Reference isElement()
React Test Utilities Reference mockComponent()
React Test Utilities Reference act()
React Profiler API onRender Callback
React AJAX and APIs Example: Using AJAX results to set local state
React.Component Class Properties defaultProps
React.Component Other APIs forceUpdate()
React.Component Other APIs setState()
React.Component Reference UNSAFE_componentWillUpdate()
React.Component Reference UNSAFE_componentWillReceiveProps()
React.Component Reference UNSAFE_componentWillMount()
React.Component Reference componentDidCatch()
React.Component Reference static getDerivedStateFromError()
React.Component Reference getSnapshotBeforeUpdate()
React.Component Reference static getDerivedStateFromProps()
React.Component Reference shouldComponentUpdate()
React.Component Reference componentWillUnmount()
React.Component Reference componentDidUpdate()
React.Component Reference componentDidMount()
React.Component Reference constructor()
React.Component Reference render()
Render Props Caveats Be careful when using Render Props with React.PureComponent
React Render Props Using Props Other Than render
React Render Props Use Render Props for Cross-Cutting Concerns
React Hooks FAQ Performance Optimizations How to read an often-changing value from useCallback?
React Hooks FAQ Performance Optimizations How to avoid passing callbacks down?
React Hooks FAQ Performance Optimizations Are Hooks slow because of creating functions in render?
React Hooks FAQ Performance Optimizations How to create expensive objects lazily?
React Hooks FAQ Performance Optimizations How to memoize calculations?
React Hooks FAQ Performance Optimizations How do I implement shouldComponentUpdate?
React Hooks FAQ Performance Optimizations What can I do if my effect dependencies change too often?