x32x01
  • بواسطة x32x01 ||
وانا شغال على بروجكت بـ Next.js 15 مع TypeScript ، وعامل كود مهمته بس انه بيبعت الـ searchParams لصفحة المنتجات، وكل حاجة ماشية تمام. فجأة لقيت إن الكود اللي متأكد انه كان شغال على Next.js 14 خارب الدنيا ايرورز! 😓

بعد شوية سيرش وتجارب اتضحلى إن المشكلة في Next.js 15، الـ searchParams فى الاصدار الـ15 بقت Promise بدل ما تكون Object عادي، يعني بقى لازم أتعامل معاها بـ await علشان اقدر اوصل لنتيجة الكود النهائية.

الكود القديم:
JavaScript:
async function ProductsPage({
  searchParams,
}: {
  searchParams: { layout?: string; search?: string };
}) {
  const layout = searchParams.layout || 'grid';
  const search = searchParams.search || '';
  return (
    <>
      <ProductsContainer layout={layout} search={search} />
    </>
  );
}

الكود كان شغال زي الفل على Next.js 14، لكن في 15 بيطلع Error وبيرجع القيم undefined.

الحمدلله قدرت أحل المشكلة بعد ما رجعت للـ Docs (وده درس كبير بحد ذاته 📚)، فهمت إن لازم أعمل await لـ searchParams عشان أتعامل معاها بشكل صحيح.

ودا الكود الجديد:
JavaScript:
async function ProductsPage({
  searchParams,
}: {
  searchParams: Promise<{
    layout?: string | undefined;
    search?: string | undefined;
  }>;
}) {
  const layout = (await searchParams).layout || 'grid';
  const search = (await searchParams).search || '';
  return (
    <>
      <ProductsContainer layout={layout} search={search} />
    </>
  );
}
💡 طبعا التجربة الصغيرة دي خدت منى وقت كبير ف السيرش عشن اقدر اوصل وافهم المشكلة وحلها وهنا نستفيد إن لازم نتابع تحديثات الفريمورك اللي بتستخدمه أول بأول.
Docs مش بس مكان للكود، دي كنز بيفهمك ليه الحاجة تغيرت وبتساعدك تحل مشاكل زي دي أسرع. 💎

سؤالي ليك:
إيه أكتر مرة وقفت في مشكلة بسبب تحديث framework معين؟ شاركني تجربتك! 🛠️
 
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
405
x32x01
x32x01
x32x01
الردود
1
المشاهدات
185
x32x01
x32x01
x32x01
الردود
0
المشاهدات
204
x32x01
x32x01
x32x01
الردود
0
المشاهدات
245
x32x01
x32x01
x32x01
الردود
0
المشاهدات
203
x32x01
x32x01
الوسوم : الوسوم
next.js typescript
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,662
المشاركات
1,866
أعضاء أكتب كود
370
أخر عضو
Ahmedmo95
عودة
أعلى