همانطور که کنترلهای React UI پیچیدهتر میشوند، منطق پیچیده میتواند با UI در هم آمیخته شود. این امر استدلال در مورد رفتار کامپوننت را دشوار می کند، آزمایش آن را دشوار می کند و ساخت کامپوننت های مشابهی را که نیاز به ظاهر متفاوتی دارند ضروری می کند. یک کامپوننت Headless ، تمام منطق غیر UI و مدیریت state را استخراج می کند و مغز یا منطق یک کامپوننت را از ظاهر آن جدا می کند.
ری اکت طرز تفکر ما در مورد کامپوننت های UI و مدیریت state در UI را متحول کرده است. اما با هر درخواست یا بهبود ویژگی جدید، یک کامپوننت به ظاهر ساده میتواند به سرعت به ادغام پیچیدهای از state درهم تنیده و منطق UI تبدیل شود.
این تا حد زیادی به ترجیح کاربر در مورد نحوه استفاده از کامپوننت Headless در پایگاه کد خود خلاصه می شود. من شخصاً به سمت هوک ها متمایل می شوم زیرا آنها هیچ گونه تعامل DOM (یا DOM مجازی) ندارند. تنها پل بین منطق state مشترک و UI شی ref است. از سوی دیگر، با پیادهسازی مبتنی بر زمینه، زمانی که کاربر تصمیم بگیرد آن را سفارشی نکند، یک پیادهسازی پیشفرض ارائه میشود.
بقیشو بیا اینجا بخون: anophel