TanStack Store؛ سیگنالهای کوچیک برای استیت سمت کلاینت
خلاصهٔ کاملتر
تو صفحهٔ معرفی TanStack Store اومده که این کتابخونه یه هستهٔ ریاکتیو کوچیکه برای استیتی که باید سمت کلاینت بمونه: یه پیادهسازی سیگنال مستقل از فریمورک، با آپدیتهای immutable، مقادیر derived، batch و آداپترهایی که به کامپوننت اجازه میدن فقط همون بخشی از استیت رو انتخاب کنه که رندرش میکنه. نسخهٔ فعلی alpha ـه.
شعار پروژه اینه که Store زیرساخته، نه معماری. یعنی همون پریمیتیو ریاکتیو رو میده بدون اینکه یه معماری استیت برای کل محصول تحمیل کنه؛ هم زیر خود کتابخونههای مستقل از فریمورک تنسک کار میکنه و هم میشه مستقل تو یه اپلیکیشن ازش استفاده کرد.
هسته عمداً روی چهار کار ساده متمرکز مونده: نوشتن مقدار، مشتقگرفتن از استورهای دیگه، گروهکردن نوشتنهای مرتبط با batch و subscribe شدن با همون دانهبندیای که رندرکننده لازم داره. سادهترین شکل یه مقدار با مسیر آپدیت مشخص اینه:
const count = createStore(0)
count.setState((value) => value + 1)همون هستهٔ وانیلا رو میشه از TypeScript خالص استفاده کرد و بعد با یه آداپتر نازک به ریاکت، پریکت، سالید، ویو، انگولار، سوِلت یا Lit وصلش کرد. چیزی که عوض میشه فقط بایندینگه؛ مدل استیت همون میمونه.
جای هر ابزار هم تو صفحه مشخص شده: Store برای استیت لوکال و مقادیر مشتقشده، Router برای استیتی که تو URL جا داره، Query برای منابع سمت سرور و DB برای گراف دادهٔ ریاکتیو. مخزن Store روی گیتهاب ۸۷۷ ستاره داره.
نکات کلیدی:
- هستهٔ سیگنال مستقل از فریمورک با آپدیت immutable؛ فعلاً alpha ـه.
- چهار کار اصلی: نوشتن، مقدار derived، batch و subscribe انتخابی.
- آداپتر برای ریاکت، پریکت، سالید، ویو، انگولار، سوِلت و Lit.
- برای استیت لوکال کلاینت؛ URL مال Router و دادهٔ سرور مال Query ـه.




