Code Monkey home page Code Monkey logo

Comments (2)

klendi avatar klendi commented on May 26, 2024 1

Closing this since an example is provided. Might consider to do a nextjs example project into the example folder in the future! @Rasukarusan btw you are more than welcome to make a PR and contribute to this repo if you wish!

from react-top-loading-bar.

Rasukarusan avatar Rasukarusan commented on May 26, 2024

@cadentic
Hi!
I'll post my example.

_app.tsx

...
import { TopLoadingBar } from './TopLoadingBar'

export default function MyApp(props) {
  const { Component, pageProps } = props
}
  return (
    <>
        <TopLoadingBar />
        <Component {...pageProps} />
    </>
)

TopLoadingBar.tsx

import { useEffect, useRef } from 'react'
import Router from 'next/router'
import LoadingBar, { LoadingBarRef, IProps } from 'react-top-loading-bar'

export const TopLoadingBar: React.FC<IProps> = (props) => {
  const ref = useRef<LoadingBarRef>(null)

  useEffect(() => {
    const handleRouteStart = () => ref.current.continuousStart()
    const handleRouteDone = () => ref.current.complete()

    Router.events.on('routeChangeStart', handleRouteStart)
    Router.events.on('routeChangeComplete', handleRouteDone)
    Router.events.on('routeChangeError', handleRouteDone)

    return () => {
      Router.events.off('routeChangeStart', handleRouteStart)
      Router.events.off('routeChangeComplete', handleRouteDone)
      Router.events.off('routeChangeError', handleRouteDone)
    }
  }, [])

  return <LoadingBar color="#f11946" ref={ref} {...props} />
}

from react-top-loading-bar.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.