راکت

پردازش متن در react native با استفاده از onTextLayout

بدون پاسخ

سلام
نیاز به یک الگوریتم دارم که برام محاسبه کنه در هر صفحه از گوشی چه مقدار متن قرار می گیرد. به عنوان مثال فرض کنید یک متن دارم که پنج هزار کاراکتر است، قصد من این است که ببینم در یک صفحه حداکثر چند کاراکتر قرار خواهد گرفت. (البته با احتساب استایل و ...).
یک متد در کامپوننت Text موجود است که عملکردش به شکل زیر می باشد:

onTextLayout={({ nativeEvent: { lines } }) => console.log(lines)}

همانطور که در بالا می بینید خروجی lines سطر به سطر تمام خروجی متن را نمایش می دهد. که با دریافت baseline هر سطر می توان فهمید چه سطری آخرین سطر پنجره جاری است.
ولی مساله این است که این عملیات باید در کامپوننت Text و درون Render صورت پذیرد.
راه کاری وجود دارد که این عملیات خارج از متد render صورت پذیرد؟
من یک مشکلی که دارم این است که وقتی خروجی lines را دریافت می کنم و می خواهم این خروجی را در state قرار دهم و پردازش کنم امکان این کار بدلیل قرار گرفتن در return وجود ندارد و در return نمی توان setState انجام داد.

کسی می تونه راهنمایی کنه؟

mahdi
mahdi
@esmahdim
ثبت پرسش جدید

پاسخ‌ها

0

هنوز پاسخی ثبت نشده

اولین نفری باشید که به این پرسش کمک می‌کند و مسیر حل مشکل را باز می‌کند.

اولین پاسخ را بنویسید

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام