سلام استاد وقت بخیر من پروژه مدیریت مخاطبین رو روی گیت هاب آنلاین کردم
زمانی که آدرس
https://x.github.io/contacts-manager-app رو میزنم پروژه رو میبینم ولی زمانی که توی آدرس دیگه ای مثل
https://x.github.io/contacts-manager-app/contacts صفحه رو رفرش میکنم با ارور404 گیت هاب روبرو میشم
اگه راه حلی برای این مشکل دارید ممنون میشم بگید.
سلام دوست من
به این خاطر هست که اپلیکیشن ما پیمایش رو در سمت کلاینت انجام میده و شما زمانی که در نوار آدرس لینک میدید گیت هاب پیج پیداش نمیکنه
چندین راهکار هست
راهکار اول اینه که در اپلیکیشن بگیم هر موقع not-found پیش اومد به صفحه اصلی ریدایرکت بشه که بهترین کار برای نمایش کامل در گیت هاب همین مورد هست
درست یادم نمیاد ولی فکر میکنم در این مورد صحبت کرده بودم
موردی که گفتم رو تست کن
استاد یکبار
<Route path='*' element={<Navigate to={'/'} />} />رو به Routes اضافه کردم و نشد
بار بعد کد زیر رو به App.jsx اضافه کردم تا زمانی که صفحه رفرش شد قبل از اینکه رندر بشه آدرس تغییر کنه توی لوکال هاست انجام شد ولی توی گیت هاب نه
useLayoutEffect(()=> {
navigate("/");
console.log('navigate shode');
}, []);
ولی راهکارتون رو متوجه نشدم چطور باید بگیم هر موقع not-found پیش اومد ری دایرکت کن؟
به این شکل در زمان خطا کامپوننت ایی که ساختی نمایش داده بشه یا میتونی بگی ریدایرکت بشه
const router = createBrowserRouter([
{
path: "/",
element: <Root />,
errorElement: <ErrorPage />,
},
]);در قسمت errorElement