أعمل على تطبيق React Native و واجهتني مشكلة بسيطة. لنفرض أن الشاشة الرئيسية للتطبيق هي ال feed screen و أنا حاليًا أتفقد صفحتي الشخصية، عندما أقوم بنقل التطبيق ليعمل في الخلفية و أتصفح باقي التطبيقات و بعدها أعود لفتح التطبيق الخاص بي ينقلني إلى ال feed screen بدلًا من ال profile screen
ما هي الحلول المقترحة لهذا الأمر؟
-- أستخدم React Contect API
const[isReady, setIsReady]= useState(false);const[user,setUser]=useState();const[authenticated,setAuthenticated]=useState();const appState = useRef(AppState.currentState);const[appStateVisible, setAppStateVisible]=useState(appState.current);const _handleAppStateChange =(nextAppState)=>{if(
appState.current.match(/inactive|background/)&&
nextAppState ==="active"){
console.log("App has come to the foreground!");}
appState.current = nextAppState;
setAppStateVisible(appState.current);
console.log("AppState", appState.current);};
useEffect(()=>{AppState.addEventListener("change", _handleAppStateChange);return()=>{AppState.removeEventListener("change", _handleAppStateChange);};},[]);const restoreUser = async ()=>{const user = await storage.getUser();if(user) setUser(user);};if(!isReady)return(<AppLoading
startAsync={restoreUser}
onFinish={()=> setIsReady(true)}
onError={console.warn}/>);return((appState.current)==='active'?<AuthContext.Provider value={{user,setUser,authenticated,setAuthenticated}}><NavigationContainer theme={navigationTheme} ref={navigationRef}>{(user&&authenticated)?<AppNavigator/>:(user)?<PasscodeNavigator/>:<AuthNavigator/>}</NavigationContainer></AuthContext.Provider>:<SplashScreen/>
السؤال
Yomna Raouf
أعمل على تطبيق React Native و واجهتني مشكلة بسيطة. لنفرض أن الشاشة الرئيسية للتطبيق هي ال feed screen و أنا حاليًا أتفقد صفحتي الشخصية، عندما أقوم بنقل التطبيق ليعمل في الخلفية و أتصفح باقي التطبيقات و بعدها أعود لفتح التطبيق الخاص بي ينقلني إلى ال feed screen بدلًا من ال profile screen
ما هي الحلول المقترحة لهذا الأمر؟
-- أستخدم React Contect API
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.