در قسمت قبل ، نوع توابع ارسالی از طریق props را تعیین کردیم. فرض کنید در همان مثال میخواهیم بجای ارسال یک رشته به فراخوان کامپوننت تعریف شده، اصل رخداد واقع شده را ارسال کنیم. به همین جهت onClick دریافتی را مستقیما به رخداد onClick، نسبت میدهیم: export const Button = ({ onClick }: Props) => {
return <button onClick={onClick}>Click Me</button>;
};
در این حالت بلافاصله با خطای زیر مواجه خواهیم شد که عنوان م ...
در قسمت قبل با معرفی نوع props توسط TypeScript، مجبور به تکمیل اجباری تک تک آنها شدیم؛ اما در React میتوان props را به صورت اختیاری و یا با مقادیری پیشفرض نیز تعریف کرد.
روش تعیین props پیشفرض توسط TypeScript
اگر بخواهیم توسط روشهای خود React، مقادیر پیشفرض props را تعیین کنیم، میتوان از defaultProps به صورت زیر با تعریف یک شیء جاوا اسکریپتی از پیش مقدار دهی شده، استفاده کرد: Head.defaultProps = {
...
React به صورت پیشفرض از ES6 برای توسعهی برنامههای خودش استفاده میکند؛ اما استفادهی از TypeScript با پروژههای React، مزایای قابل توجهی را مانند type checking در زمان کامپایل برنامه، دسترسی به intellisense آنی، امکان refactoring بهتر را در اختیار توسعه دهنده قرار میدهد که نه فقط سرعت و سهولت توسعه را افزایش میدهند، بلکه از بروز بسیاری از خطاهای زمان اجرای برنامه نیز جلوگیری میکند.
ایجاد پروژههای React مبتنی بر ...
یکی از اهداف کار با ORMها، رسیدن به کدی قابل ترجمه و استفادهی توسط تمام بانکهای اطلاعاتی ممکن است و یکی از الزامات رسیدن به این هدف، صرفنظر کردن از قابلیتهای بومی بانکهای اطلاعاتی است که در سایر بانکهای اطلاعاتی دیگر معادلی ندارند. برای مثال SQL Server به همراه توابع توکاری مانند datediff و datepart برای کار با زمان و تاریخ است؛ اما این توابع را به صورت مستقیم نمیتوان در ORMها استفاده کرد. چون به محض استفادهی از آنها، کد تهیه شده د ...
فرض کنید کاربری برای جستجوی رکورد زیر: context.Chapters.Add(new Chapter
{
Title = "آزمایش متن فارسی",
Text = "برای نمونه تهیه شدهاست",
User = user1.Entity
});
بجای «فارسی»، واژهی «فارشی» را وارد کند و یا بجای «آزمایش»، بنویسد «آزمایس». در هر دو حالت نتیجهی جستجوی او خروجی را به همراه نخواهد داشت. برای بهبود تجربهی کاربری جستجوی تمام متنی SQLite، افزونهای به نام spell fix1 برای آن تهیه شدهاست که بر اس ...
پس از آشنایی با نحوهی ایجاد و به روز رسانی جدول مجازی FTS، اکنون قصد داریم با روشهای کوئری گرفتن از آن آشنا شویم. برای این منظور در ابتدا نیاز است تعدادی رکورد را در آن ثبت کنیم: private static void seedDb(ApplicationDbContext context)
{
if (!context.Chapters.Any())
{
var user1 = context.Users.Add(new User { Name = "Test User" });
context.Chapters.Add ...
SQLite به صورت توکار از full-text search پشتیبانی میکند؛ اما اهمیت آن چیست؟ هدف از full-text search، انجام جستجوهای بسیار سریع، در ستونهای متنی یک جدول بانک اطلاعاتی است. بدون وجود یک چنین قابلیتی، عموما برای انجام اینکار از دستور LIKE استفاده میشود: SELECT Title FROM Book WHERE Desc LIKE '%cat%';
کار این کوئری، یافتن ردیفهایی است که در آن واژهی cat وجود دارند. مشکل این روش، عدم استفادهی از ایندکسها و اصطلاحا انجام یک full ...
پس از آشنایی با « روش کار با فایلهای ایستا در برنامههای React »، اکنون اگر این فایلها ایستا نباشند و توسط یک برنامهی ASP.NET Core بازگشت داده شوند، چطور میتوان از آنها در برنامههای React استفاده کرد؟ برپایی پروژههای مورد نیاز
ابتدا یک پوشهی جدید را مانند DownloadFilesSample، ایجاد کرده و در داخل آن دستور زیر را اجرا میکنیم: > dotnet new react
در مورد این قالب که امکان تجربهی توسعهی یکپار ...
روش ذکر فایلهای ایستا در کامپوننتهای جاوا اسکریپتی برنامههای React
React، برای مدیریت پروژهی خود، از Webpack استفاده میکند و در این حالت، کار با فایلهای ایستا مانند تصاویر و قلمهای وب، شبیه به کار با فایلهای CSS خواهد بود؛ یعنی این نوع فایلها را باید در فایلهای جاوا اسکریپتی برنامه، import کرد. به این ترتیب Webpack کار یکی سازی این فایلها را با bundle نهایی تولید شده، انجام میدهد.
یک مثال: فرض کنید ...
قصد داریم اطلاعات یک فرم React را به همراه دو فایل الصاقی به آن، به سمت یک سرور ASP.NET Core ارسال کنیم؛ بطوریکه درصد پیشرفت ارسال فایلها، زمان سپری شده، زمان باقی مانده و سرعت آپلود نیز گزارش داده شوند: پیشنیازها
« بررسی روش آپلود فایلها در ASP.NET Core »
« ارسال فایل و تصویر به همراه دادههای دیگر از طریق jQuery Ajax »
- در مطلب اول، روش دریافت فایلها از کلاینت، در سمت سر ...