برنامه شمارنده
کامپوننت Counter
یک مثال ساده است که نحوه استفاده از Rosma را برای مدیریت استیت در برنامه React نشان می دهد. در این مثال از useObserver
برای ایجاد یک متغیر سراسری به نام count
با مقدار اولیه ۰
و یک متد setter به نام setCount
استفاده می کنیم.
import { useObserver } from 'rosma';
export default function Counter() {
const { count, setCount } = useObserver(0);
return (
<button onClick={() => setCount(count + 1)}>
<span>مقدار count برابر است با : </span>
{count}
</button>
);
}
میتوان همین مثال بالا را با استفاده از withState
به صورت زیر بازنویسی کرد :
import { withState } from 'rosma';
function Counter({ count = 0, setCount }) {
return <button onClick={() => setCount(count + 1)}>{count}</button>;
}
export default withState(Counter);
پیش نمایش
در مثال بالا، ما از هوک useObserver
برای ایجاد یک متغیر سراسری به نام count
استفاده کرده و متد تنظیم کننده مربوط به آن را setCount
نام گذاری میکنیم. مقدار اولیه count
روی ۰
تنظیم شده است.
برای بهروزرسانی متغیر count
، به سادگی متد تنظیمکننده مربوطه آن setCount
را با مقدار جدید صدا میزنیم. در این مورد، هر بار که روی دکمه کلیک میشود، مقدار count
را با ۱
جمع میکنیم.
امکان جابجایی متغیر ها
شایان ذکر است که نیازی به رعایت ترتیب خاصی در هنگام دریافت کردن متغیرها از هوک useObserver
ندارید. رُزما به طور خودکار مقادیر صحیح را به هر متغیر بر اساس نام آنها اختصاص می دهد.
import { useObserver } from 'rosma';
export default function Counter() {
const { setCount, count } = useObserver(0);
return <button onClick={() => setCount(count + 1)}>{count}</button>;
}
در مثال بالا، ما متغیرهای setCount
و count
را به ترتیبی خلاف مثال قبلی دریافت کردیم و Rosma همچنان میتواند مقادیر صحیح را به هر متغیر اختصاص دهد.
حساس نبودن به حروف بزرگ و کوچک
همچنین، در نظر داشته باشید که تمامی متغیرها در استیت با حروف کوچک ذخیره میشوند، اما نامهایی که از استیت دریافت میکنید، نسبت به حروف بزرگ و کوچک حساس نیستند. به عبارت دیگر، شما میتوانید در هنگام استفاده از useObserver
هر ترکیبی از حروف بزرگ و کوچک را برای گرفتن متغیرهای خود استفاده کنید.
import { useObserver } from 'rosma';
export default function Counter() {
const { CouNt, setcOunT } = useObserver(0);
return <button onClick={() => setcOunT(CouNt + 1)}>{CouNt}</button>;
}
در مثال بالا، ما متغیر count
را به عنوان CouNt
و method تنظیم کننده متناظر آن را به عنوان setcOunT
نامگذاری کردیم، هر دو با ترکیبی از حروف کوچک و بزرگ. رزما هنوز هم قادر است مقادیر صحیح را به هر متغیر بر اساس نام آنها اختصاص دهد.
کلید واژه ها: ری اکت, مدیریت استیت, رُزما, useObserver, استیت سراسری, نامگذاری مقادیر, استخراج مقادیر, متد تنظیم کننده, حساس نبودن به حروف, قواعد نامگذاری
قبلی: نصب و راه اندازی
بعدی: گرفتن همزمان چندین متغیر