React یک کتابخانه جاوااسکریپت برای ساخت رابط های کاربری (UI) است. با React می توانید کامپوننت های قابل استفاده مجدد بسازید و وبسایت هایی با سرعت و عملکرد بالا ایجاد کنید. در این آموزش، React را از صفر شروع می کنیم و به شما نشان می دهیم که چقدر ساخت وبسایت های مدرن با React می تواند آسان باشد.
React به دلایل زیر انتخاب بسیار خوبی برای ساخت وبسایت های مدرن است:
برای شروع کار با React، به Node.js و npm (یا yarn) نیاز دارید. اگر Node.js را نصب ندارید، می توانید آن را از وبسایت رسمی Node.js دانلود و نصب کنید.
برای ایجاد یک پروژه جدید React، می توانید از Create React App استفاده کنید. Create React App یک ابزار قدرتمند است که به شما کمک می کند یک پروژه React را به سرعت و به سادگی ایجاد کنید.
برای ایجاد یک پروژه جدید، ترمینال خود را باز کنید و دستور زیر را وارد کنید:
npx create-react-app my-app cd my-app npm start
این دستور یک پروژه جدید با نام `my-app` ایجاد می کند، به دایرکتوری پروژه می رود و سرور توسعه را اجرا می کند. پس از اجرای این دستور، وبسایت شما در مرورگر به آدرس `http://localhost:3000` باز می شود.
پروژه ای که با Create React App ایجاد کرده اید، ساختار زیر را دارد:
در React، رابط کاربری از کامپوننت ها تشکیل شده است. هر کامپوننت یک بخش مستقل از رابط کاربری است که می تواند منطق و ظاهر خود را داشته باشد.
برای مثال، یک کامپوننت می تواند یک دکمه، یک فرم، یا یک لیست از آیتم ها باشد.
در دایرکتوری `src/`، فایل `App.js` را باز کنید. این فایل کامپوننت اصلی پروژه شما است.
محتوای این فایل را به صورت زیر تغییر دهید:
import React from 'react';
function App() {
return (
سلام دنیا!
این یک کامپوننت React است.
);
}
export default App;
این کد یک کامپوننت جدید با نام `App` ایجاد می کند که یک عنوان و یک پاراگراف را نمایش می دهد.
JSX یک افزونه نحوی برای جاوااسکریپت است که به شما اجازه می دهد HTML را در جاوااسکریپت بنویسید. JSX کد شما را خواناتر و قابل فهم تر می کند.
در مثال بالا، از JSX برای نوشتن HTML در کامپوننت `App` استفاده کرده ایم.
State و Props دو مفهوم مهم در React هستند که برای مدیریت داده ها در کامپوننت ها استفاده می شوند.
State داده هایی هستند که توسط یک کامپوننت مدیریت می شوند و می توانند در طول زمان تغییر کنند.
Props داده هایی هستند که از کامپوننت والد به کامپوننت فرزند منتقل می شوند و نمی توانند توسط کامپوننت فرزند تغییر کنند.
یک کامپوننت جدید با نام `Counter` ایجاد کنید و کد زیر را در آن قرار دهید:
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
شمارنده: {count}
);
}
export default Counter;
این کامپوننت یک شمارنده ساده است که با کلیک بر روی دکمه "افزایش"، مقدار آن افزایش می یابد.
در این کامپوننت، از `useState` برای ایجاد یک state با نام `count` استفاده کرده ایم. `useState` یک hook است که به شما اجازه می دهد state را در کامپوننت های تابعی مدیریت کنید.
یک کامپوننت جدید با نام `Greeting` ایجاد کنید و کد زیر را در آن قرار دهید:
import React from 'react';
function Greeting(props) {
return (
سلام، {props.name}!
);
}
export default Greeting;
این کامپوننت یک نام را به عنوان prop دریافت می کند و یک پیام خوشامدگویی را نمایش می دهد.
برای استفاده از این کامپوننت در کامپوننت `App`، کد زیر را در فایل `App.js` قرار دهید:
import React from 'react';
import Greeting from './Greeting';
function App() {
return (
سلام دنیا!
);
}
export default App;
در این کد، کامپوننت `Greeting` را با prop `name` برابر با "علی" فراخوانی کرده ایم.
React به شما اجازه می دهد به رویدادهای مختلف مانند کلیک، تغییر، و ارسال فرم واکنش نشان دهید.
برای مثال، می توانید یک تابع را به رویداد `onClick` یک دکمه متصل کنید تا وقتی کاربر روی دکمه کلیک می کند، آن تابع اجرا شود.
React ابزارهایی را برای مدیریت فرم ها در اختیار شما قرار می دهد. با React می توانید فرم های پیچیده با اعتبارسنجی و ارسال داده ها را به راحتی ایجاد کنید.
در React، می توانید از روش های مختلفی برای استایل دهی به کامپوننت ها استفاده کنید، از جمله:
برای ایجاد یک وبسایت چند صفحه ای با React، به یک کتابخانه مسیریابی نیاز دارید. React Router یکی از محبوب ترین کتابخانه های مسیریابی برای React است.
برای ارسال درخواست های HTTP به سرور، می توانید از کتابخانه هایی مانند `axios` یا `fetch` استفاده کنید.
Redux یک کتابخانه مدیریت state است که به شما کمک می کند state را در برنامه های پیچیده React مدیریت کنید.
برای مشاوره در زمینه طراحی سایت و سئو با React و سایر تکنولوژی ها، با ما تماس بگیرید:
09190994063 - 09376846692