i want to write myUseEffect and use it instead of useEffect?
Great idea! You can create your own custom hook myUseEffect to replace useEffect. This is useful if you want to add extra functionality, such as logging, dependency tracking, or conditional execution.
✅ Step 1: Define myUseEffect Hook
Wrap useEffect inside a custom hook with added logic:
and i want to write myUseDispatch AND USE IT INSTEAD OF useDispatch?
Great idea! You can create a custom hook myUseDispatch to replace useDispatch and add extra functionality, such as logging or modifying actions before dispatching.
✅ Step 1: Create myUseDispatch.js
Wrap useDispatch inside a custom hook with added logic:
Managing access tokens securely in React is crucial to prevent security risks like token theft and unauthorized access. Here’s the best approach depending on your authentication strategy:
1️⃣ Store Tokens Securely
Instead of localStorage, consider safer alternatives:
✔ HttpOnly Cookies (Recommended)
Tokens are stored on the server and not accessible to JavaScript, preventing XSS attacks.
Use SameSite=Strict and Secure flags for better protection.
✔ Session Storage (Better Than LocalStorage)
Clears automatically when the session ends.
Still accessible by JavaScript, so not ideal for highly sensitive tokens.
✔ Redux or React State (For Short-Lived Tokens)
Stores tokens in memory, preventing exposure to persistent storage attacks.
Good for apps using short-lived tokens and refresh mechanisms.
2️⃣ Implement Token Expiry & Refresh Mechanism
To avoid stale tokens and frequent logouts, implement token refreshing using refresh tokens.
🔹 Example: Automatic Token Refresh with Axios Interceptors
🔒 Store tokens securely (HttpOnly Cookies or Session Storage) 🔄 Use a refresh token system to prevent forced logouts 🚀 Protect routes with authentication checks 📡 Use Axios interceptors for automatic token handling
CSS Custom Properties, also known as CSS Variables, allow you to define reusable values in your stylesheets. They are prefixed with -- and can be accessed using the var() function.
i can use a external component that created with typescript in another react .js that dont use typescript?
Yes, you can absolutely use a TypeScript-based React component in a React project that doesn't use TypeScript! Here’s how:
Compile to JavaScript – TypeScript compiles to plain JavaScript, so when you import a TypeScript-based component, you're essentially using JavaScript. Ensure the component is properly compiled before importing it.
Use .js Files – When installing an external TypeScript component via npm or yarn, you'll typically find precompiled JavaScript files in the package’s dist folder. You can import those directly into your React app.
Ignore Type Definitions – If the package includes TypeScript type definitions (.d.ts files), they won’t affect your project unless you're using TypeScript. Your regular React setup will work fine.
Check Dependencies – Some TypeScript-based components might require TypeScript-specific configurations. Look at their documentation to see if any adjustments are needed.
i can use function in json object and send this json as react .js component prop?
Yes! You can pass a function inside a JSON-like object as a prop in React, but there’s a catch—pure JSON doesn’t support functions. However, JavaScript objects do! Here’s how you can do it:
✅ Passing a function inside an object as a prop
jsx
constmyObject = {
message: "Hello from JSON-like object!",
myFunction: () =>alert("Function inside the object executed!")
};
constMyComponent= ({ data }) => (
<div><p>{data.message}</p><buttononClick={data.myFunction}>Click me</button></div>);
exportdefaultfunctionApp() {
return<MyComponentdata={myObject} />;
}
This works because React allows JavaScript objects as props, and functions are valid values inside objects.
⚠️ Limitations
If you serialize the object to JSON (JSON.stringify(myObject)), the function will be lost.
If you're dealing with API responses, they won’t contain functions, because JSON doesn’t support functions.
If the data comes from a server, you might need to attach functions after parsing the JSON.
You can achieve this by creating two React projects: 1️⃣ The first project (project-x) will contain the X and Y components, and be bundled for reuse. 2️⃣ The second project (project-y) will consume the bundled components from project-x.
قواعد نامگذاری در React js برای کامپوننتها، متدها و توابع
قواعد نامگذاری در برای کامپوننتها، متدها و توابع
رعایت اصول نامگذاری در باعث خوانایی و نگهداری بهتر کد میشود. در ادامه بهترین روشها برای نامگذاری کامپوننتها، متدها و توابع را بررسی میکنیم:
۱. نامگذاری کامپوننتهای React
✅ استفاده از PascalCase (حروف بزرگ در ابتدای هر کلمه) ✅ نام باید هدف کامپوننت را توصیف کند ✅ نام فایل کامپوننت باید با نام کامپوننت صادر شده مطابقت داشته باشد
✅ استفاده از نامهای واضح برای متغیرهای state ✅ برای متغیرهای بولی، با is یا has شروع کنید ✅ نام متغیر باید با setVariableName برای متغیرهای تنظیمکننده همراه باشد
const[data, setData] = useState([]); // ❌ اشتباه (نام غیر واضح)
۶. بهترین روشها برای نامگذاری در
✔️ یکپارچگی (Consistency) – یک روش نامگذاری مشخص را در کل پروژه رعایت کنید ✔️ خوانایی (Readability) – نامهایی انتخاب کنید که هدف تابع را دقیقاً مشخص کنند ✔️ اجتناب از اختصارات نامفهوم – handleSubmitForm() بهتر از hndSubFrm() است
با رعایت این قواعد، کد React شما خواناتر، بهینهتر و قابل نگهداری خواهد بود.
نحوه استفاده از TypeScript در پروژه های React js - مهاجرت پروژه های REACT به TypeScript
مهاجرت پروژه React به TypeScript یکی از بهترین تصمیمها برای بهبود کیفیت کد و کاهش خطاها در پروژههای بزرگ است. در این فرآیند، شما باید مراحل مشخصی را دنبال کنید تا کد موجود به تدریج به TypeScript تبدیل شود، بدون اینکه عملکرد پروژه مختل شود. در ادامه مراحل اصلی مهاجرت آورده شده است:
1. نصب TypeScript
ابتدا باید TypeScript را به پروژه React خود اضافه کنید. از این دستور استفاده کنید:
بسیاری از کتابخانههایی که با React استفاده میشوند، نسخههایی با تعریف TypeScript ارائه میدهند. اگر کتابخانهای استفاده میکنید، مطمئن شوید که تعریف انواع آن را نصب کردهاید:
bash
npm install @types/[library-name]
6. رفع خطاها
پس از تغییر فایلها به .tsx، TypeScript ممکن است خطاهایی را نشان دهد که نیاز به اصلاح دارد. این خطاها میتوانند شامل عدم تعریف نوع متغیرها یا استفاده نادرست از مقادیر باشند.
7. مهاجرت تدریجی
اگر پروژه بزرگ است، بهتر است ابتدا چند فایل را به TypeScript تبدیل کنید و مشکلات را رفع کنید، سپس به تدریج سایر فایلها را مهاجرت دهید.
استفاده از yup در پروژه های بزرگ react توصیه می شود؟
بله، استفاده از Yup برای مدیریت اعتبارسنجی در پروژههای بزرگ React به شدت توصیه میشود، زیرا مزایای زیادی ارائه میدهد که مدیریت فرمها و اعتبارسنجی دادهها را سادهتر و موثرتر میسازد. در ادامه دلایل و نکات اصلی این توصیه را آوردهام:
مزایای استفاده از Yup:
سادگی و خوانایی کد: Yup دارای یک API قابل خواندن و کاربرپسند برای تعریف schemaهای اعتبارسنجی است. این امر باعث کاهش پیچیدگی کد، به ویژه در پروژههای بزرگ میشود.
یکپارچگی با Formik: Yup به خوبی با کتابخانههایی مثل Formik که در مدیریت فرمها محبوب است، ادغام میشود. این ترکیب به طور خاص در پروژههای بزرگ که فرمهای متعددی دارند، میتواند مدیریت اعتبارسنجی و ارسال دادهها را به شکل مؤثری ساده کند.
قابلیت استفاده مجدد (Reusability): در پروژههای بزرگ، میتوانید schemaهای اعتبارسنجی را به صورت ماژولار ایجاد کرده و در بخشهای مختلف پروژه استفاده کنید، که باعث کاهش تکرار کد و بهبود نگهداری میشود.
اعتبارسنجی سمت کلاینت: Yup به شما اجازه میدهد تا اعتبارسنجی را سمت کلاینت انجام دهید، که تجربه کاربری سریع و روانتری ایجاد میکند.
پشتیبانی از اعتبارسنجی پیچیده: Yup از متدهایی برای اعتبارسنجی شرطی و سفارشی پشتیبانی میکند، که در پروژههای بزرگ برای برآورده کردن نیازهای خاص بسیار مفید است.
چالشها و محدودیتها:
نیاز به یادگیری: اگر تیم با Yup یا Formik آشنا نیست، ممکن است نیاز به زمان برای یادگیری و یکپارچهسازی باشد.
اندازه بسته: استفاده از کتابخانههای اضافی ممکن است اندازه نهایی باندل را افزایش دهد، اما معمولاً این موضوع در مقابل مزایای آن به چشم نمیآید.
نتیجهگیری:
اگر پروژه شما شامل فرمهای پیچیده و زیادی است، Yup انتخابی ایدهآل برای اعتبارسنجی دادهها است، به ویژه در کنار Formik. این ابزارها نه تنها روند توسعه را تسریع میکنند، بلکه کد را تمیزتر و قابل نگهداریتر نیز میکنند.
چرا پروژه ریکت من فایل webpack.config.js را ندارد؟ چگونه آن را ایجاد کنم؟
اگر پروژه React شما فایل webpack.config.js ندارد، احتمالاً از یک ابزار ساخت آماده مانند Create React App یا Vite استفاده شده است. این ابزارها، تنظیمات Webpack را از پیش برای شما مدیریت میکنند و نیازی به ساخت دستی فایل webpack.config.js نیست.
در چنین پروژههایی، برای ایجاد باندل یا تنظیمات سفارشی میتوانید به روشهای زیر عمل کنید:
1. در پروژه Create React App:
Create React App به صورت پیشفرض فایلهای تنظیمات Webpack را پنهان کرده و مدیریت میکند. اگر نیاز دارید تنظیمات Webpack را تغییر دهید:
Eject کردن پروژه: با اجرای دستور زیر، فایلهای Webpack و تنظیمات مرتبط آشکار میشوند:
bash
npm run eject
توجه: این کار پروژه شما را غیرقابل بازگشت میکند و ممکن است پیچیدگی بیشتری ایجاد کند.
پس از اجرای eject، فایل webpack.config.js قابل مشاهده خواهد بود و میتوانید تغییرات دلخواه را اعمال کنید.
2. در پروژه Vite:
اگر پروژه شما با Vite ساخته شده باشد، تنظیمات آن در فایل vite.config.js مدیریت میشوند. این ابزار سبکتر و سریعتر از Webpack است و از تنظیمات سادهتر استفاده میکند.
در فایل vite.config.js میتوانید تنظیمات مربوط به خروجی را اضافه کنید:
سپس یک فایل webpack.config.js بسازید و تنظیمات مشابه نمونه قبلی را اضافه کنید.
پیشنهاد:
اگر پروژه شما از ابزارهای مدرن مانند Create React App یا Vite استفاده میکند، بهتر است از تنظیمات پیشفرض بهره ببرید و تنها در موارد خاص نیاز به سفارشیسازی تنظیمات داشته باشید.
نمونه کد ساده که در پروژه اول فقط یک کامپوننت ساده به نام ایکس ایجاد شده و در پروژه دوم از باندل پروژه اول برای استفاده از کامپوننت ایکس ارجاع داده شود؟
بله، من میتوانم یک نمونه ساده برای روش شماره ۲ ارائه دهم که یک کامپوننت ساده در پروژه اول ایجاد و باندل شود و سپس در پروژه دوم مورد استفاده قرار گیرد. در اینجا دو پروژه داریم:
پروژه اول: ایجاد کامپوننت و باندل
در پروژه اول، یک کامپوننت به نام X ایجاد میکنیم و آن را برای استفاده در پروژه دوم باندل میکنیم.
آیا می شود پروژه ریکت را به دو پروژه تقسیم کرد و باندل ایجاد شده در یک پروژه را در پروژه دیگر فراخوان کرد؟
بله، این کار امکانپذیر است و در بسیاری از موارد، به ویژه برای پروژههای بزرگ یا ماژولار، انجام میشود. شما میتوانید پروژههای ریکت (React) را به دو یا چند پروژه جداگانه تقسیم کنید و از باندل (Bundle) یک پروژه در پروژه دیگر استفاده کنید. برای این منظور، میتوانید از روشهای زیر استفاده کنید:
روشهای فراخوانی باندل پروژه دیگر:
1. ایجاد کتابخانه و انتشار روی npm:
توضیح: میتوانید قسمتهایی از پروژه اول که میخواهید در پروژه دوم استفاده کنید را به یک کتابخانه تبدیل کرده و آن را روی npm منتشر کنید.
مراحل:
بخش مشترک را به یک ماژول یا پکیج جداگانه تبدیل کنید.
آن را با دستور npm publish در npm منتشر کنید.
در پروژه دیگر با استفاده از npm install package-name آن را نصب کنید.
مزیت: قابلیت اشتراکگذاری ساده و مدیریت نسخهها.
2. ایجاد خروجی با Webpack یا Vite:
توضیح: میتوانید با استفاده از ابزارهایی مانند Webpack یا Vite، باندل خروجی (Bundle) پروژه اول را تولید کرده و در پروژه دوم وارد کنید.
خروجی (library.js) را در پروژه دوم از طریق <script> یا وارد کردن در کد استفاده کنید.
مزیت: نیازی به انتشار آنلاین نیست.
3. استفاده از Yarn Workspaces یا Monorepo:
توضیح: با استفاده از ساختارهای Monorepo مانند Yarn Workspaces یا Nx میتوانید چندین پروژه را در یک مخزن مدیریت کنید.
مراحل:
پروژههای مختلف را بهعنوان پکیجهای جدا در یک Monorepo سازماندهی کنید.
پکیجهای داخلی را بدون انتشار، بین پروژهها به اشتراک بگذارید.
برای استفاده در پروژه دوم، کافیست آن را در package.json اضافه کنید:
json
"dependencies":{"shared-library":"workspace:*"}
4. اشتراکگذاری مستقیم فایل باندل:
توضیح: اگر نمیخواهید از npm یا ابزارهای دیگر استفاده کنید، میتوانید فایلهای خروجی باندل پروژه اول را مستقیماً به پروژه دوم کپی کنید و با استفاده از import یا <script> از آنها استفاده کنید.
مراحل:
فایل باندل (.js) پروژه اول را ایجاد کنید.
فایل باندرا در پروژه دوم قرار دهید و در کد آن را ایمپورت کنید:
javascript
importMyLibraryfrom"./library.js";
موارد قابل توجه:
استقلال ماژولها:
اطمینان حاصل کنید که بخش مشترک بین دو پروژه به صورت ماژولار طراحی شده است و وابستگیهای غیرضروری به پروژه اصلی ندارد.
مدیریت نسخهها:
اگر از npm استفاده میکنید، حتماً نسخههای منتشر شده را مدیریت کنید تا به روزرسانیها مشکلی ایجاد نکند.
پشتیبانی از مرورگرها:
در هنگام ایجاد باندل مطمئن شوید که کد شما سازگار با استانداردهای مرورگرها باشد (مثلاً با استفاده از Babel).
آیا نیاز به نمونه کد یا توضیح خاصی درباره یکی از این روشها دارید؟ 😊
The size of bundles produced from .js and .jsx files in React is generally the same because the differences between these two file extensions do not affect how JavaScript is compiled or bundled. Here’s a breakdown to clarify:
Key Points:
File Extension Purpose:
.js and .jsx are just conventions:
.js is typically used for JavaScript files.
.jsx is used to indicate files containing React JSX syntax.
Both extensions are functionally equivalent in modern React projects because Babel or other compilers process them the same way.
Bundle Size:
Whether you use .js or .jsx, the bundle size is determined by the code itself, not the file extension. The bundling tools (e.g., Webpack, Vite) compile and optimize all files uniformly.
Optimization Factors:
The bundle size depends on:
The number of libraries and dependencies imported.
The efficiency of the code (e.g., unused imports).
The optimization tools used during the build process (e.g., minification, tree shaking).
Why Use .jsx?:
.jsx is preferred for React components because it explicitly communicates that the file contains JSX syntax, making the codebase more readable and organized.
It’s purely a developer convention and doesn’t impact bundle size.
Recommendation:
Choose .jsx for React components to maintain clarity, but know that the file extension itself won’t influence the bundle size. For optimizing the bundle, focus on techniques like code splitting, tree shaking, and minimizing imports.
Optimizing bundles in React JS is essential for improving application performance and reducing load times. Here are some effective strategies:
1. Code Splitting
React offers built-in support for code splitting using dynamic imports. This technique splits your code into smaller chunks that can be loaded on demand. Example:
"با زندگینامه و بیوگرافی امیرحسین ثابتی، نماینده تهران در مجلس شورای اسلامی و مجری سابق شبکه افق آشنا شوید. از فعالیتهای سیاسی و رسانهای او تا نقشآفرینی در عرصه فرهنگی و اجتماعی."
امیرحسین ثابتی یکی از چهرههای شناختهشده در عرصه سیاست و رسانه ایران است. او که نماینده مردم تهران، ری، شمیرانات، اسلامشهر و پردیس در مجلس شورای اسلامی است، پیش از ورود به عرصه سیاست، بهعنوان مجری و تحلیلگر در شبکه افق فعالیت داشت. در ادامه، نگاهی جامع به زندگی، تحصیلات، فعالیتهای رسانهای و سیاسی او خواهیم داشت.
"با زندگینامه (بیوگرافی) حاج میثم مطیعی، مداح برجسته و استاد دانشگاه، آشنا شوید. از فعالیتهای مذهبی و انقلابی تا آثار هنری و فرهنگی او را بیشتر بشناسید."
"با فضیلت شبهای قدر آشنا شوید و اعمال عبادی دقیق این شبهای پربرکت را طبق فقه شیعه بیاموزید. راهنمای کامل برای بهرهبرداری از این شبهای ارزشمند در ماه رمضان."
"کدهای پیشواز ایرانسل و همراه اول برای مداحیها، مناجات و دعاهای معروف ماه رمضان را پیدا کنید و تماسهای خود را معنویتر کنید."
ماه رمضان زمان مناسبی برای ایجاد فضایی معنوی و دلنشین است. یکی از راههای جالب برای حفظ این حس معنوی، استفاده از کدهای پیشواز ایرانسل و همراه اول است که شامل مداحیها، دعاها و مناجاتهای پرطرفدار میشود. در ادامه، نمونههایی از کدهای مشهور و پرطرفدار برای شما آماده کردهایم:
"با ترتیب دقیق فیلمهای دزدان دریایی کارائیب (Pirates of the Caribbean) آشنا شوید و خلاصهای جذاب از داستان هر قسمت را بخوانید. ماجراجوییهای جک اسپارو را از ابتدا تا انتها دنبال کنید."
کلاس تدریس خصوصی آمادگی برای آزمون تیزهوشان ششم (پایه ششم به هفتم) آزمون پایه ششم مدارس تیزهوشان با تکیه بر هوش و دقت دانش آموزان برگزار می شود. در واقع سنجش دانش آموزان از طریق سنجش هوش و استعداد است. با توجه به این موضوع دانش آموزان باید آمادگی لازم برای گذراندن تست های های این آزمون را داشته باشند و شرکت در دوره های خصوصی آمادگی تیزهوشان برای افزایش دقت و تمرکز بر هوش آن ها یکی از مهمترین گزینه هایی است که پیش از برگزاری آزمون و برای آماده سازی شرکت کنندگان در آزمون توصیه می شود.
فهرست اسامی و مشخصات ایرانی های حامی یا عضو گروه تروریستی داعش
این افراد یا از حامیان سرسخت داعش و اقدامات تروریستی آنها هستند یا خود عضو فعال این گروه تروریستی می باشند:
مهندس ایرانی حامی داعش و تروریست ها و اسرائیل
رحیم میرتاج الدینی، مهندس نقشه بردار، ساکن کرمان
دندانپزشک حامی تروریسم ساکن تهران
توهین وقیحانه فاطمه اقبالی مقدم، دندانپزشک با کد نظام پزشکی: ۱۵۴۴۴۹
این کاربر توئیتری ( حامی تروریسم اهل تبریز) پارسال زن و بچه مذهبیها رو تهدید به تجاوز میکرد و الان پست هایی رو که در اون به حاج قاسم سلیمانی و شهدای کرمان اهانت میشه رو لایک میکنه و ضریب میده
مداحی جواد مقدم برای جاماندگان پیاده روی اربعین ،دانلود صوت کامل مداحی آه از جدایی دل شد هوایی اسم حرم اومد دلم شد کربلایی با صدای جواد مقدم ویژه پیاده روی اربعین
متن مداحی آه از جدایی دل شد هوایی
آه از جدایی دل شد هوایی اسم حرم اومد دلم شد کربلایی تنهای تنها افتادم از پا از کاروان کربلا جا موندم آقا
دانلود مداحی استودیویی ای پسر ام ابیها ای حرمت کعبه دلها - حسین جان جانم حسین جان حسین جان آقای عالم با صدای کربلایی سیدمحمدرضا نوشه ور برای پیاده روی اربعین
نماهنگ زائر اربعین سید محمدرضا نوشه ور
متن مداحی
حسین جان جانم حسین جان ...
حسین جان آقای عالم حسین جان ذکر مدامم حسین جان بر تو سلامم
حسین جان ...
ای پسر ام ابیها ای حرمت کعبه دلها پناه تمام بی پناهان ای حسین جان
نماهنگ عربی و فارسی محبوبی حسین محمد الجنامی و محمد فصولی الکربلائی - مداحی مشکی می پوشم گرم چاووشم با صدای محمد الجنامی و محمد فصولی الکربلائی همراه با متن و پخش آنلاین نوحه
دانلود مداحی عربی فارسی محبوبی حسین (ع) محمد الجنامی و محمد فصولی الکربلائی
دانلود صوت کامل مداحی استودیویی چشماتو ببند خیال کن یه زائری زیر بارون با صدای کربلایی مجتبی رمضانی ویژه جاماندگان پیاده روی اربعین + نماهنگ تصویری + متن کامل مداحی
نماهنگ زیبای رویای حرم از کربلایی مجتبی رمضانی - جاماندگان از مشایه اربعین
مداحی عربی نمشی مع الحجة با صدای ملا باسم کربلایی ویژه پیاده روی اربعین
نوحه جدید حاج ملا باسم کربلایی برای اربعین 1402 ، نوحه مشایه ملا باسم کربلایی نماهنگ
متن نوحه عربی نمشی مع الحجة
نمشی مع الحجة، مع الحجة، مع الحجة نسعى الى حجه، الى حجه، الى حجه نمشی مع الحجة بسم الله نبدیها کعبة عشق عدنه نطوف و نحجج بیها بحرامنه الاسود کل اربعینیه حجتنه مقبولة بکل خطوة نمشیها
ارائه پاسخ مراحل بازی آمیرزا، جواب بازی آمیرزا از مرحله 1 تا 199 به صورت کامل و رایگان
کلمات اضافی در بازی آمیرزا سکه هایی به شما می دهند که می توانید از آن ها برای کشف کلمات جدید در مراحل سخت استفاده کنید ، شما با پیدا کردن هر 5 تا 20 کلمه اضافه برنده 20 سکه خواهید شد.
اما از آنجایی که بازی آمیرزا دارای مراحل بسیار زیادیست و آمیرزا در آپدیت جدید بیش از 900 مرحله دارد ، ممکن نیست بتوانید تنها با سکه هایی که بدست می آورید برای یافتن کلمات مراحل دشوار استفاده کنید و لازم است تا جواب بازی آمیرزا را در سایت های اینترنتی جست و جو کنید.
کد آهنگ پیشواز منم و تویی و دستامون چه بیاد و چه نیاد بارون حالمون خوبه با صدای گرشا رضایی ارائه شده برای سرویس آوای انتظار سیمکارتهای همراه اول با پخش آنلاین و متن آهنگ
کد پیشواز همراه اول گرشا رضایی حالمون خوبه
کد آوای انتظار همراه اول: 28406
منم و تویی و دستامون چه بیاد و چه نیاد بارون حالمون خوبه
منم و تویی و این رویا همیشه همه جا ما دو تا حالمون خوبه
کد آهنگ پیشواز دلم هوس کرده با تو دریارو همین الان پاشو چمدونو بردارو با صدای گرشا رضایی ارائه شده برای سرویس آوای انتظار همراه اول با قابلیت پخش آنلاین و متن آهنگ
کد پیشواز همراه اول گرشا رضایی دلم هوس کرده با تو دریارو
کد آوای انتظار همراه اول: 15187
دوباره نم نم ریز بارون با خیالت میزنم من بیرون
باز خیابون باز آهنگات تو صدام میکنی و میگم
آخه این اولین باره که دلم میگه آره دلم عاشقه ولی به روم نمیاره
نگاه کن دوباره بارون داره میباره
دلم هوس کرده با تو دریارو همین الان پاشو چمدونو بردارو
نذار ببینن همه صورت ماهتو من که مجنونم تو بیا و لیلا شو
کد آهنگ پیشواز دریا دریا دریا من با تموم دردا آرزو میکنم کاشکی دوباره فردا با صدای گرشا رضایی ارائه شده برای سرویس آوای انتظار همراه اول با قابلیت پخش آنلاین و متن آهنگ
کد پیشواز همراه اول گرشا رضایی دریا دریا من با تموم دردا
کد آوای انتظار همراه اول: 15185
دریا دریا اومدم تنها تا که بشنوی تو درد و دلامو
دریا دریا این حالمو دریاب جز تو کی میدونه من کجامو
دریا دریا دریا من با تموم دردا آرزو میکنم کاشکی دوباره فردا عشقمو ببینم کنار موجا
کد آهنگ پیشواز ز دلتنگی یارم هوای گریه دارم مثل ابر بهارم چگونه من نبارم با صدای مرتضی جوان ارائه شده برای سرویس آوای انتظار همراه اول با پخش آنلاین و متن آهنگ
کد پیشواز همراه اول مرتضی جوان نویسم نامه ای با چشمون ترم