
Product
A New Overview in our Dashboard
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
react-lazy-no-flicker
Advanced tools
Prevent flickering of loading fallback when using react suspense/lazy
This light-weight library contains a hook to prevent the display of your loading component until a certain amount of time has passed, and wrapper around React.lazy
to ensure that if the component is displayed it stays on screen for a minimum amount of time (defaults to half a second).
While purposely making a load take longer is a bit counter-intuitive, I think it gives a nicer user experience.
import { useState } from 'react';
import { lazy, Suspense } from 'react-lazy-no-flicker';
function Loading() {
return <div>Loading ...</div>;
}
const MyComponent = lazy(() => import('./MyComponent'));
function App() {
const [ show, setShow ] = useState(false);
return <div>
<button onClick={() => setShow(current => ! current)}>Toggle Component</button>
<Suspense fallback={<Loading />}>
{ show && <MyComponent /> }
</Suspense>
</div>;
}
Wrapper around React.lazy.
Takes a function that performs the import
call as the first argument. Second argument is an optional options object with the following defaults ...
{
time_before_fallback: 200, // The amount of time in ms before the loading fallback is displayed, should match parameter given to usePastDelay
minimum_fallback_time: 500 // The minimum amount of time in ms the loading fallback will be displayed for
}
Wrapper around React.Suspense which prevents the fallback component from being rendered until the delay has passed.
Adds an optional prop for delay
, which defaults to 200. This should match the time_before_fallback
value given to lazy
.
This hook takes one optional parameter for the amount of time to delay before it returns true. This defaults to 200ms. If you change this value be sure to modify time_before_fallback
option in lazy to match.
time_before_fallback
to load will be displayed immediately after loading.time_before_fallback
to load will display the fallback for at least minimum_fallback_time
before returning.[2.1.0][] - 2023-03-27
Suspense
wrapper.FAQs
Prevent flickering of loading fallback when using react suspense/lazy
The npm package react-lazy-no-flicker receives a total of 87 weekly downloads. As such, react-lazy-no-flicker popularity was classified as not popular.
We found that react-lazy-no-flicker 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.
Product
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
Security News
CISA denies CVE funding issues amid backlash over a new CVE foundation formed by board members, raising concerns about transparency and program governance.