آموزش جاوااسکریپت › انجمن ها › react native › reload کردن یک صفحه یا navigate کردن به همان صفحه ای که در ان هستیم
- این موضوع 7 پاسخ، 3 کاربر را دارد و آخرین بار در 4 سال، 3 ماه پیش بدست مهدی حسن زاده بهروزرسانی شده است.
-
نویسندهنوشتهها
-
kian66مشارکت کننده
با سلام
من نمیدانم چه طور می شود یک صفحه را reload کرد یا وقتی درون یک صفحه هستیم به همان صفحه مجددا navigat شویم لطفا من را راهنمایی فرمایید
ظمنا وقتی در صفحه مثلا x هستم از دستور ;this.props.navigation.navigate(‘x’) برای این که مجددا به صفحه x برگردد استفاده کردم ولی جواب نمیدهد
با تشکر فراوانمهدی حسن زادهمدیرکلسلام
علت اینکه میخواین صفحه رو reload کنید چیه.شما وقتی تغییری ایجاد کنید کامپوننت re-render میشه و نیازی به refresh شدن نداریم.علت اینکه کامپوننت x در لیست stackNavigator شما وجود ندارهkian66مشارکت کنندهکامپوننت x در creat stack navigator تعریف شده اگر تعریف نمیشد نمی توانستم از صفحات دیگر به صفحه x بروم یا از صفحه x به صفحات دیگر بروم…ولی مشکلی که وجود دارد این است که از صفحه x نمی توان به صفحه x رفت که به این طریق در واقع صفحه x رفرش شود
kian66مشارکت کنندهعلت اینکه میخواین صفحه رو reload کنید چیه
علت اینه که من می خواهم با کلیک بر روی یک متن یک state را set کنم و بر اساس آن state یک سری اطلاعات از دیتابیس را fetch کرده و نشان دهم در واقع می خواهم با کلیک بر روی هر متنی اطلاعات مربوط به آن از دیتابیس خوانده شده و نمایش داده شود ولی وقتی با کلیک بر روی متن با استفاده از onpress تابع را صدا میزنم و در تابع ابتدا براساس متنی که بر روی آن کلیک شده state خود را set می کنم و بعد بر اساس state که set کردم اطلاعات را می خواهم از دیتابیس fetch کنم و نمایش دهم ولی اطلاعات را نمی خواند و باید دوبار بر روی متن کلیک کنم تا اطلاعات خوانده شود بررسی که کردم می بینم مشکل اینجاست که در همین جا نیز ذکر کردم
https://reactapp.ir/forums/topic/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-state-%D8%A8%D8%B9%D8%AF-%D8%A7%D8%B2-setstate-%D8%AF%D8%B1-%DB%8C%DA%A9-%D8%AA%D8%A7%D8%A8%D8%B9/kian66مشارکت کنندهتنها راهی که میبینم برای refresh کردن ساخت دو صفحه مشابه و navigat کردن بین ان دو صفحه است چون وقتی درون یک صفحه هستم نمی توان به همان صفحه مجددا navigat شوم و در واقع صفحه را refresh کنم
مهدبمیهمانشما تابعی رو که برای onPress نوشتید باید به صورت Async تعریف کنید چون اطلاعات از دیتابیس خونده میشه یکم طول میکشه.بعد از اینکه اطلاعات رو دریافت کردید setState رو انجام بدید.اصلا نیازی به refresh نیست
kian66مشارکت کنندهمعذرت که دیر جواب دادم…
من اول اطلاعات را از دیتابیس گرفتم ریختم در یک آرایه بعد با map جداشون کردم پس من اول اطلاعات را از دیتابیس خوندم بعد از اطلاعات خوانده شده در تابعی که برای onPress تعریف کردم استفاده کردم بنابراین نباید مشکلی از دیر خوانده شدن اطلاعات از دیتابیس باشه…
منظورتون را از تعریف تابع به صورت async متوجه نمیشم میشه لطفا مثالی بزنید مثلا همین کدهای که در زیر نوشتم را چه جوری میشه به صورت async نوشت
http://uupload.ir/files/vzuh_sddss.pngمهدی حسن زادهمدیرکلشما اگر دوره های آموزش پروژه محور یا ساخت flowelist رو مشاهده کرده باشید این موضع کامل توضیح داده شده
-
نویسندهنوشتهها