diff --git a/src/pages/course/index.tsx b/src/pages/course/index.tsx index 906bb09..5217706 100644 --- a/src/pages/course/index.tsx +++ b/src/pages/course/index.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { Image, ProgressCircle, SpinLoading } from "antd-mobile"; +import { Image, ProgressCircle } from "antd-mobile"; import styles from "./index.module.scss"; import { useNavigate, useParams } from "react-router-dom"; import backIcon from "../../assets/images/commen/icon-back-n.png"; @@ -8,7 +8,7 @@ import { Empty } from "../../components"; import { HourCompenent } from "./compenents/hour"; const CoursePage = () => { - const params = useParams(); + const { courseId } = useParams(); const navigate = useNavigate(); const [loading, setLoading] = useState(false); const [course, setCourse] = useState({}); @@ -18,12 +18,17 @@ const CoursePage = () => { const [learnHourRecord, setLearnHourRecord] = useState({}); useEffect(() => { - getDetail(); - }, [params.courseId]); + if (courseId !== undefined) { + getDetail(); + } + }, [courseId]); const getDetail = () => { + if (loading) { + return; + } setLoading(true); - Course.detail(Number(params.courseId)) + Course.detail(Number(courseId)) .then((res: any) => { document.title = res.data.course.title; setCourse(res.data.course); diff --git a/src/pages/course/video.tsx b/src/pages/course/video.tsx index bf8b36d..0d60c46 100644 --- a/src/pages/course/video.tsx +++ b/src/pages/course/video.tsx @@ -37,8 +37,10 @@ const CoursePlayPage = () => { useEffect(() => { window.player && window.player.destroy(); - getCourse(); - getDetail(); + if (params.courseId && params.hourId) { + getCourse(); + getDetail(); + } }, [params.courseId, params.hourId]); useEffect(() => {