عبد النور محمد نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 أنا جديد في React Native. كيف يمكننا تحديث / إعادة تحميل الشاشة السابقة عند العودة إليها باستدعاء goBack ()؟ لنفترض أن لدينا 3 شاشات a b c عندما نقوم بتشغيل goBack () من الشاشة C ، فإنه يعود إلى الشاشة B ولكن مع state بالبيانات القديمة. كيف يمكننا تحديثه؟ 1 اقتباس
0 عبدالباسط ابراهيم نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 توجد عدة طرق لتنفيذ ذلك يمكننا استخدام ال hook التالي useIsFocused ثم استخدام هذه القيمة ك dependency ل sideEffect لتنفيذ دالة ما كالتالي const componentB = (props) => { // يتأكد ما إذا كانت هذه الصفحة مفتوحة أم لا const isFocused = useIsFocused(); useEffect(() => { updateSomeFunction()//isFocused يتم تنفيذ هذه الدالة بناءاً على القيمة },[isFocused]); } 2 اقتباس
0 Wael Aljamal نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 إن كنت تستخدم react-navigation 5.x يمكن استخادم الدالة: componentDidMount() { this.loadData(); this.focusListener = this.props.navigation.addListener('focus', () => { this.loadData(); }); } حيث نضيف مستمع لحدث التركيز و خلاله نعيد تحميل البيانات. إن كنت تستخدم functional component نستعمل useEffect ونعمل على تحديثها بتغيير Navigation: function Home({ navigation }) { React.useEffect(() => { const unsubscribe = navigation.addListener('focus', () => { loadData(); }); return unsubscribe; }, [navigation]); return <HomeContent />; } سيتم تحديث الصفحة بتغيير الرابط وعند التركيز على هذه الصفحة. 1 اقتباس
السؤال
عبد النور محمد
أنا جديد في React Native. كيف يمكننا تحديث / إعادة تحميل الشاشة السابقة عند العودة إليها باستدعاء goBack ()؟
لنفترض أن لدينا 3 شاشات a b c
عندما نقوم بتشغيل goBack () من الشاشة C ، فإنه يعود إلى الشاشة B ولكن مع state بالبيانات القديمة. كيف يمكننا تحديثه؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.