اشتباهات رایج توسعه‌دهندگان هنگام شروع کار با Next.js

توسعه‌دهنده فرانت‌اند

اشتباهات رایج توسعه‌دهندگان هنگام شروع کار با Next.js

در این مقاله با چند مورد از اشتباهات رایج هنگام شروع کار با Next.js آشنا می‌شویم؛ از استفاده بیش از حد از use client و ساختار نامناسب پروژه گرفته تا نادیده گرفتن Performance و قرار دادن اطلاعات حساس داخل کد.

اشتباهات رایج توسعه‌دهندگان هنگام شروع کار با Next.js

مهدیس پژوهان

توسعه‌دهنده فرانت‌اند

۱۴۰۵/۷/۱۱
۰ نفر
۴ دقیقه مطالعه

# اشتباهات رایج توسعه‌دهندگان هنگام شروع کار با Next.js

شروع کار با Next.js برای کسی که با React آشناست معمولاً راحت است، اما بعضی تفاوت‌های Next.js می‌توانند در ابتدا باعث سردرگمی شوند. شناخت اشتباهات رایج می‌تواند مسیر یادگیری را ساده‌تر کند.

## ۱. استفاده بیش از حد از use client

یکی از اشتباهات رایج این است که توسعه‌دهنده برای اکثر کامپوننت‌ها "use client" قرار می‌دهد.

در Next.js، کامپوننت‌ها به‌صورت پیش‌فرض Server Component هستند. بنابراین بهتر است فقط زمانی از "use client" استفاده کنیم که واقعاً به قابلیت‌هایی مثل useState، useEffect یا رویدادهایی مانند onClick نیاز داشته باشیم.

```tsx

"use client";

import { useState } from "react";

export default function Counter() {

const [count, setCount] = useState(0);

return (

<button onClick={() => setCount(count + 1)}>

{count}

</button>

);

}

```

## ۲. استفاده از روش‌های قدیمی React بدون توجه به امکانات Next.js

Next.js فقط یک React معمولی نیست و امکانات مختلفی برای Routing، Rendering، مدیریت Metadata و موارد دیگر دارد.

برای مثال در App Router، به جای اینکه برای Routing حتماً از کتابخانه جداگانه استفاده کنیم، می‌توانیم ساختار مسیرها را با پوشه‌ها و فایل‌های page.tsx ایجاد کنیم.

```text

app/

├── page.tsx

├── about/

│ └── page.tsx

└── products/

└── page.tsx

```

## ۳. قرار دادن همه چیز داخل یک کامپوننت

در پروژه‌های کوچک شاید قرار دادن تمام کد داخل یک فایل مشکلی ایجاد نکند، اما با بزرگ‌تر شدن پروژه مدیریت آن سخت می‌شود.

بهتر است بخش‌های قابل استفاده مجدد را به کامپوننت‌های جدا تقسیم کنیم:

```text

components/

├── Navbar.tsx

├── Footer.tsx

├── Button.tsx

└── ProductCard.tsx

```

این کار باعث می‌شود کد خواناتر و نگهداری پروژه ساده‌تر شود.

## ۴. نادیده گرفتن ساختار پوشه‌ها

داشتن ساختار مرتب از همان ابتدای پروژه اهمیت زیادی دارد.

صفحات، کامپوننت‌ها، توابع کمکی و فایل‌های مربوط به داده بهتر است جای مشخصی داشته باشند.

البته یک ساختار ثابت برای تمام پروژه‌های Next.js وجود ندارد و بهتر است ساختار پروژه با اندازه و نیاز آن هماهنگ باشد.

## ۵. استفاده اشتباه از public

پوشه public برای فایل‌های استاتیک مانند تصاویر و آیکون‌ها مناسب است.

برای مثال:

```text

public/

└── images/

└── logo.png

```

اما قرار دادن تمام فایل‌های پروژه در public کار درستی نیست. کدهای مربوط به کامپوننت‌ها و منطق برنامه باید در بخش‌های مناسب پروژه قرار بگیرند.

## ۶. فراموش کردن فایل‌های مخصوص Next.js

Next.js فایل‌های خاصی دارد که هرکدام کاربرد مشخصی دارند:

* loading.tsx → نمایش حالت Loading

* error.tsx → مدیریت خطا

* not-found.tsx → صفحه 404

* layout.tsx → ساختار مشترک صفحات

* page.tsx → تعریف صفحه

شناخت این فایل‌ها باعث می‌شود برای هر قابلیت، راه‌حل مناسب خود Next.js را بشناسیم.

## ۷. قرار دادن اطلاعات حساس داخل کد

اطلاعاتی مانند API Key، رمز عبور و اطلاعات اتصال به دیتابیس نباید مستقیماً داخل فایل‌های کد قرار بگیرند.

بهتر است این اطلاعات را در Environment Variableها نگهداری کنیم:

```env

API_KEY=your-api-key

DATABASE_URL=your-database-url

```

و فایل .env را نیز در .gitignore قرار دهیم تا اطلاعات حساس به اشتباه وارد Git نشوند.

## ۸. نادیده گرفتن Performance

در شروع پروژه ممکن است همه‌چیز سریع به نظر برسد، اما با افزایش حجم پروژه، Performance اهمیت بیشتری پیدا می‌کند.

استفاده درست از ابزارهایی مانند next/image، انتخاب مناسب Server و Client Component و جلوگیری از ارسال JavaScript غیرضروری به مرورگر می‌تواند به عملکرد بهتر پروژه کمک کند.

## ۹. کپی کردن کد بدون درک نحوه کار آن

یکی دیگر از اشتباهات رایج، استفاده از کدهای آماده بدون اینکه بدانیم دقیقاً چه کاری انجام می‌دهند.

Next.js قابلیت‌های زیادی دارد و بهتر است هنگام استفاده از یک روش جدید، حداقل بدانیم:

* چرا از آن استفاده می‌کنیم؟

* چه مشکلی را حل می‌کند؟

* آیا روش ساده‌تری وجود دارد؟

این کار در درازمدت باعث می‌شود وابستگی کمتری به کدهای آماده داشته باشیم.

## جمع‌بندی

شروع کار با Next.js می‌تواند ساده‌تر باشد اگر چند نکته را از همان ابتدا رعایت کنیم:

* از "use client" فقط در مواقع لازم استفاده کنیم.

* ساختار پوشه‌های پروژه را مرتب نگه داریم.

* از قابلیت‌های داخلی Next.js استفاده کنیم.

* کامپوننت‌های قابل استفاده مجدد بسازیم.

* اطلاعات حساس را داخل کد قرار ندهیم.

* فایل‌های مخصوص Next.js مانند layout.tsx و loading.tsx را بشناسیم.

* از همان ابتدا به Performance و خوانایی کد توجه کنیم.

قرار نیست از روز اول همه قابلیت‌های Next.js را بلد باشیم. مهم‌تر از حفظ کردن ابزارها، این است که بدانیم هر قابلیت چه مشکلی را حل می‌کند و چه زمانی باید از آن استفاده کنیم.

این مطلب برای شما مفید بود؟با لایک کردن، به ما انرژی بدهید
۰ نفر این مطلب را پسندیده‌اند