سلام
نیاز به یک الگوریتم دارم که برام محاسبه کنه در هر صفحه از گوشی چه مقدار متن قرار می گیرد. به عنوان مثال فرض کنید یک متن دارم که پنج هزار کاراکتر است، قصد من این است که ببینم در یک صفحه حداکثر چند کاراکتر قرار خواهد گرفت. (البته با احتساب استایل و ...).
یک متد در کامپوننت Text موجود است که عملکردش به شکل زیر می باشد:
onTextLayout={({ nativeEvent: { lines } }) => console.log(lines)}
همانطور که در بالا می بینید خروجی lines سطر به سطر تمام خروجی متن را نمایش می دهد. که با دریافت baseline هر سطر می توان فهمید چه سطری آخرین سطر پنجره جاری است.
ولی مساله این است که این عملیات باید در کامپوننت Text و درون Render صورت پذیرد.
راه کاری وجود دارد که این عملیات خارج از متد render صورت پذیرد؟
من یک مشکلی که دارم این است که وقتی خروجی lines را دریافت می کنم و می خواهم این خروجی را در state قرار دهم و پردازش کنم امکان این کار بدلیل قرار گرفتن در return وجود ندارد و در return نمی توان setState انجام داد.
کسی می تونه راهنمایی کنه؟
اولین نفری باشید که به این پرسش کمک میکند و مسیر حل مشکل را باز میکند.
اولین پاسخ را بنویسیدشاید پاسخ شما همینجا باشد