11"use client" ;
22
33import { useState , useEffect , useCallback } from "react" ;
4- import { useRouter , useSearchParams } from "next/navigation" ;
54import { gql , useQuery } from "@apollo/client" ;
65import type { NextPage } from "next" ;
76import QuizForm from "@azure-fundamentals/components/QuizForm" ;
@@ -31,11 +30,11 @@ const questionsQuery = gql`
3130` ;
3231
3332const Practice : NextPage = ( ) => {
34- const router = useRouter ( ) ;
35- const searchParams = useSearchParams ( ) ;
36-
37- const url = searchParams . get ( "url" ) || "" ;
38- const seqParam = searchParams . get ( "seq" ) ;
33+ const [ searchParams , setSearchParams ] = useState < URLSearchParams | null > (
34+ null ,
35+ ) ;
36+ const url = searchParams ? .get ( "url" ) || "" ;
37+ const seqParam = searchParams ? .get ( "seq" ) ;
3938 const seq = seqParam ? parseInt ( seqParam ) : 1 ;
4039
4140 const [ currentQuestionIndex , setCurrentQuestionIndex ] = useState < number > ( seq ) ;
@@ -45,6 +44,11 @@ const Practice: NextPage = () => {
4544 variables : { id : currentQuestionIndex - 1 , link : url } ,
4645 } ) ;
4746
47+ useEffect ( ( ) => {
48+ const param = new URLSearchParams ( window . location . search ) ;
49+ setSearchParams ( param ) ;
50+ } , [ ] ) ;
51+
4852 const {
4953 data : questionsData ,
5054 loading : questionsLoading ,
0 commit comments