آشنایی با کلاسها در ریاکت
سلام دوستان! امروز میخواهیم درباره کلاسها در ریاکت صحبت کنیم. کلاسها یکی از اصلیترین مفهومها در ریاکت هستند که به ما اجازه میدهند تا کامپوننتهای خودمان را ایجاد کنیم. شاید برایتان جالب باشد که بدانید کلاسها به ما این امکان را میدهند تا وضعیت (state) را در کامپوننتها مدیریت کنیم و از قابلیتهای متنوعی مانند متدهای lifecycle بهرهمند شویم.
خب، اولین چیزی که باید بدانید این است که کلاسها در ریاکت باید از React.Component
ارثبری کنند. این کار به کامپوننت شما امکانات اضافی میدهد که برای ساختار و کارکرد بهتر آن نیاز داریم. با استفاده از کلاس، میتوانید state را تعریف کنید و همچنین متدهایی برای مدیریت این state بنویسید.
برای ایجاد یک کلاس کامپوننت در ریاکت، ابتدا باید React
و Component
را از بستهی react
وارد کنید. سپس یک کلاس جدید با استفاده از کلمهی کلیدی class
ایجاد میکنید و render()
را تعریف میکنید که باید JSX را برگرداند. این متد جایی است که شما UI کامپوننت خود را مشخص میکنید.
حالا بیایید یک مثال ساده از یک کلاس کامپوننت را بررسی کنیم. در این مثال، ما یک کامپوننت ساده ایجاد میکنیم که یک دکمه را نشان میدهد و با هر بار کلیک روی آن، یک شمارش افزایش مییابد. بیصبرانه منتظرم تا شما نیز از این مثال الهام بگیرید!
import React from 'react';
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = { count: 0 };
}
increment = () => {
this.setState({ count: this.state.count + 1 });
};
render() {
return (
);
}
}
export default Counter;
توضیح کد
import React from 'react';
این خط برای وارد کردن کتابخانه ریاکت است که برای ساخت کامپوننتها نیاز داریم.
class Counter extends React.Component {
در اینجا یک کلاس به نام
Counter
ایجاد میکنیم که از React.Component
ارثبری میکند.constructor(props) {
این متد سازنده است که در آن میتوانیم state اولیه را تنظیم کنیم.
this.state = { count: 0 };
در اینجا یک state به نام
count
تعریف میکنیم که در ابتدا برابر با 0 است.increment = () => {
این متد برای افزایش مقدار
count
استفاده میشود و با هر بار کلیک بر روی دکمه فراخوانی میشود.this.setState({ count: this.state.count + 1 });
با این خط، مقدار
count
یک واحد افزایش مییابد.render() {
در این متد، UI کامپوننت را بازمیگردانیم.
return (
در اینجا JSX کامپوننت را برمیگردانیم، که شامل نمایش
count
و یک دکمه است.export default Counter;
در نهایت، کامپوننت
Counter
را به عنوان پیشفرض صادرات میکنیم تا بتوانیم آن را در سایر فایلها استفاده کنیم.