0

I am trying to add a progress bar using nprogress to my project, but all examples I have come across, such as This example and This other example, are for Next.js projects not built with TypeScript.

In my project I dont have the /pages/_app.js file to configure as

import Router from 'next/router';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
Router.events.on('routeChangeStart', () => NProgress.start()); 
Router.events.on('routeChangeComplete', () => NProgress.done()); 
Router.events.on('routeChangeError', () => NProgress.done());
function MyApp({ Component, pageProps }) {
    return <Component {...pageProps} />
}
export default MyApp;

In my project, I have my pages/_app.tsx setup as

import React from "react";
import type { AppProps } from "next/app";
import "./global.css";

import Router from "next/router";
import NProgress from "nprogress"; //nprogress module
import "nprogress/nprogress.css"; //styles of nprogress
//Route Events.
Router.events.on("routeChangeStart", () => NProgress.start());
Router.events.on("routeChangeComplete", () => NProgress.done());
Router.events.on("routeChangeError", () => NProgress.done());

export default function MyApp({ Component, pageProps }: AppProps) {
  return (
    <div id="root">
      <Component {...pageProps} />
    </div>
  );
}

Can the progress bar work? because as I currently have it, it's not working.

Ben
  • 139
  • 1
  • 2
  • 10

0 Answers0