تغییرهای پیاپی طراحی میتوانند یک فایل ساده colors.ts و یک Button کوچک را پیچیده کنند: رنگها بیشتر میشوند و برای هر نیاز تازه، یک prop یا override اضافه میشود. این راهنما از همین مسئله شروع میکند؛ جایی که تغییر یک تصمیم طراحی، بررسی چند فایل مختلف را لازم میکند.
در بسیاری از کتابخانههای component، کد در node_modules قرار دارد و سفارشیسازی معمولاً از طریق propها و گزینههای موجود انجام میشود. shadcn/ui رویکرد دیگری دارد: یک CLI کد component را داخل پروژه کپی میکند و بعد میتوان همان کد را تغییر داد. بنابراین قرار نیست shadcn/ui مثل یک dependency معمولی به package.json اضافه شود.
راهنما برای استفاده از این ایده در React Native، پروژه React Native Reusables را معرفی میکند. این پروژه componentهایی مانند Button، Card، Select و Dialog دارد و از همان الگوی کپیکردن کد با CLI استفاده میکند. RN Primitives رفتار پایه را فراهم میکند؛ مثلاً یک Primitive برای Select باز و بستهشدن منو و اعلام آن به screen reader را مدیریت میکند، اما رنگ و border ندارد. React Native Reusables ظاهر را روی این رفتار اضافه میکند.
ابزار دیگر Uniwind است که class nameهای Tailwind CSS را هنگام bundle شدن برنامه به styleهای React Native تبدیل میکند؛ طبق متن، این تبدیل کار اضافهای در runtime ایجاد نمیکند. Expo و Expo Router نیز راهاندازی پروژه، development server و navigation مبتنی بر فایل را بر عهده دارند.
مثال برنامهریزیشده، صفحه سبد خرید و پرداخت سفارش بیرونبر یک کافه است؛ با کنترل تعداد، انتخاب زمان دریافت، نام مشتری و تأیید سفارش. راهنما همچنین پرداختن به Design Token، حالت روشن و تاریک، صفحهکلید و safe area را در برنامه دارد. بخش موجود هنوز اجرای این مراحل را نشان نمیدهد.
در پایان بخش موجود، سازوکار Registry توضیح داده میشود: مجموعهای از فایلهای JSON روی server که کد و dependencyهای component را توصیف میکنند. CLI این اطلاعات را میخواند، packageهای لازم را نصب میکند و کد را به پروژه میآورد. پیشنیازهای آموزش نیز Node.js 20 یا جدیدتر، آشنایی پایه با React و TypeScript و مقداری تجربه React Native است.



