الصفحة تعمل http request وينجح لكن فى اول مرة عندما اقوم بعمل ريلود للتطبيق فان الداتا تكون فارغة .. واذا قمت بعمل اى تعدل ينتج عنه hot reload فان الداتا تظهر ؟؟؟!!!!!!!!
حاولت حل المشكلة فحاولت ان اقوم بعمل if لكى اتأكد من وجودها ولكن ظهرت لى هذه المشكلة
TypeError: null is not an object (evaluating 'data.length')
لكى لا اضيع وقتكم .. هذا هو الكود و كل ما يتعلق ب ريدكس او التوكن يعمل بشكل صحيح لكن مشكلتى فى عدم جلب الداتا من اول مرة هى تاتى لكن بعد عمل hot reload ما حل هذه المشكلة ؟
importReact,{useEffect, useState} from 'react';import{View,Text,FlatList,Button} from 'react-native';import{useDispatch, useSelector} from 'react-redux';import{logout} from '../../store/actions/auth';import{getSessions} from '../../store/actions/sessions';importAsyncStorage from '@react-native-async-storage/async-storage';functionLearningSessions(props){const[token, setToken]= useState(null);const getToken = async ()=>{try{const userToken = await AsyncStorage.getItem('userToken');if(userToken !==null){
setToken(userToken);
console.log(token);}}catch(e){
console.log(e.message);}};
useEffect(()=>{
getToken();
dispatch(getSessions(token,1));},[]);const data = useSelector(state => state.sessionsReducer.data);const dispatch = useDispatch();
console.log(data);if(data.length >0){return(<View><Text>جلساتالتعلم</Text><Button title="logout" onPress={()=> dispatch(logout())}/><FlatList
data={data}
keyExtractor={item => item.id.toString()}
renderItem={({item})=>(<View style={{padding:30, backgroundColor:'yellow', margin:15}}><Text>{item.content}جلسة:</Text><Text>{item.reading_type.name}</Text><Text>{item.teacher_name}</Text><Text>{item.status_text}</Text><Text>{item.rate_text}</Text><Text>{item.session_start_date}</Text></View>)}/></View>);}return<Text>انتظر...</Text>;}exportdefaultLearningSessions;
السؤال
أحمد عبد الله2
السلام عليكم
الصفحة تعمل http request وينجح لكن فى اول مرة عندما اقوم بعمل ريلود للتطبيق فان الداتا تكون فارغة .. واذا قمت بعمل اى تعدل ينتج عنه hot reload فان الداتا تظهر ؟؟؟!!!!!!!!
حاولت حل المشكلة فحاولت ان اقوم بعمل if لكى اتأكد من وجودها ولكن ظهرت لى هذه المشكلة
TypeError: null is not an object (evaluating 'data.length')
لكى لا اضيع وقتكم .. هذا هو الكود و كل ما يتعلق ب ريدكس او التوكن يعمل بشكل صحيح لكن مشكلتى فى عدم جلب الداتا من اول مرة هى تاتى لكن بعد عمل hot reload ما حل هذه المشكلة ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.