Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
react-asynchronous-component
Advanced tools
a simple react async component which implements dynamic import syntax to add code spliting to the project"
react-asynchronous-component
resolves component asynchronously with the support for code-spliting.
react-asynchronous-component
gives you power to split your bundles into small chunks with webpack and lazy load them,
this reduces the cost of initial JS to be downloaded. for big projects its ideal to use code-spliting because the
bundle size increases and a lot of useless javascript is download which really is not required for the first render.
npm install react-asynchronous-component
LoadingComponent
until your component is resolved.ErrorComponent
if your component resolution fails.lets say you have a Home
component which has a lot of content and assets in it.
export default function Home() {
return <div>hell home</div>
}
or
const Home = () => <div>hello home</div>
to implement async rendering and code spliting for home component
import React from 'react';
import Async from 'react-asynchronous-component';
const AsyncHome = (props) => (
<Async
load={import(/* webpackChunkName: "home" */ './home')}
loader={()=><p>loading</p>}
error={()=><p>sime error occured</p>}
componentProps={props}
/>
);
// loader and error expect a react component or simple string.
class App extends React.Component {
render() {
return (
<div>
<h1>Welcome React Async Component</h1>
<AsyncHome someProps="somevalue" />
</div>
</div>
);
}
}
export default App
best usecase in your react router you can convert all routing components to async components which makes each route a chunk. saves a lot of initial load time.
import React from 'react';
import PropTypes from 'prop-types';
import { Switch, withRouter, Redirect, Route } from 'react-router-dom';
import Async from 'react-asynchronous-component';
const AsyncHome = props => (
<Async
componentProps={props}
load={import('./Home.component' /* webpackChunkName: "home" */)}
loading="loading...."
error="error...."
/>
);
const AsyncProfile = props => (
<Async
componentProps={props}
load={import('./Profile.component' /* webpackChunkName: "profile" */)}
loading={()=><p>loading....</p>}"
error={()=><p>Error....</p>}
/>
);
const AsyncErrorPage = props => (
<Async
componentProps={props}
load={import('./ErrorPage.component' /* webpackChunkName: "errorpage" */)}
loading="loading...."
error="error...."
/>
);
const Routes = () => (
<div className="routes-wrapper">
<Switch>
<Route exact path="/" component={AsyncHome} />
<Route exact path="/profile" component={AsyncProfile} />
<Route exact path="/error/:type" component={AsyncErrorPage} />
<Redirect to={`/error/not-found`} />
</Switch>
</div>
);
export default withRouter(Routes);
You can view this snippets in context here !
FAQs
a simple react async component which implements dynamic import syntax to add code spliting to the project"
The npm package react-asynchronous-component receives a total of 2 weekly downloads. As such, react-asynchronous-component popularity was classified as not popular.
We found that react-asynchronous-component demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.